Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] python3 from cfv-project:python3 #5

Open
wants to merge 196 commits into
base: python3
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
331d10a
Open README file with correct encoding
May 24, 2020
4539809
Merge pull request #12 from tdwebste/python3
lxp May 24, 2020
21d380c
Added `requirements.txt`
stevenxxiu Dec 4, 2020
9f3291a
Fix logging of bytes
lxp Jul 7, 2021
319aabf
Use `zip` instead of `map(None, ...)`
stevenxxiu Jan 4, 2020
50b4a4a
Write bytes when file opened as bytes
stevenxxiu Jan 4, 2020
1c7ba95
Use `ex.args` to access error code
stevenxxiu Jan 4, 2020
ca30060
Use real booleans instead of integers
lxp Jul 8, 2021
5b37470
Fix filename decoding check leading to wrong filename decoding error
lxp Jul 8, 2021
fd0aa8b
Use bytes for reading files in `common.py`
stevenxxiu Jan 4, 2020
fd7e06a
Wrap binascii.(un)hexlify and correctly decode to string during hexlify
lxp Jul 8, 2021
82e8e81
Replace missing open_write_raw function with force_raw option
lxp Jul 8, 2021
4376a16
Fix open_write handling of gzip files with text encoding
lxp Jul 8, 2021
8536f68
Fix equals implementation of OneOf class
lxp Jul 8, 2021
37722c3
`chompnulls()`'s first argument is of `bytes` like type
stevenxxiu Jan 4, 2020
fd02cae
`crc32()` takes a `bytes` like argument
stevenxxiu Jan 4, 2020
34a7112
`filter()` is not a `list`
stevenxxiu Jan 4, 2020
ea65807
Supposed to use `sys.stdin` as the `fileobj` when the filename is `'-…
stevenxxiu Jan 7, 2020
2d99e44
Unused import
stevenxxiu Jan 4, 2020
d13bbad
Use `BytesIO()` for `PeekFile`
stevenxxiu Jan 4, 2020
8f6c1f3
Unused imports
stevenxxiu Jan 4, 2020
f93c12e
Don't support Python 1.6 anymore, we only support Python >=3
stevenxxiu Jan 7, 2020
0a3d161
Don't support Python <2.2 anymore
stevenxxiu Jan 7, 2020
96ea2f2
Open gzip'ed checksum files in text mode during test
lxp Jul 8, 2021
d08cb0a
Fix private_torrent_test
lxp Jul 8, 2021
fdc0a4f
Fix create_funkynames test
lxp Jul 8, 2021
115608e
Remove legacy Python < 2.3 code and fix C_funkynames_test
lxp Jul 8, 2021
78fb13c
Fix auto_chksumfile_match ordering (BSDMD5 needs to come before SFVMD5)
lxp Jul 8, 2021
5d86959
Switch bencode to bytes
lxp Jul 9, 2021
74c426c
Fix dict order check during bdecode of first key
lxp Jul 9, 2021
80f2c0f
Fix handling of bool type during bencode
lxp Jul 9, 2021
d336971
Remove deprecated Psyco import
lxp Jul 9, 2021
a3df093
Add unit tests for bencode and bdecode
lxp Jul 9, 2021
d0cc46c
Rewrite raw encoding support by utilizing surrogate codes from PEP 383
lxp Jul 10, 2021
622aca0
Consolidate raw encoding logic
lxp Jul 10, 2021
2ecd426
Fix test_encoding2 test
lxp Jul 10, 2021
efa3ad9
Use stdin, stdout for data in binary mode and fix test harness to pro…
lxp Jul 11, 2021
c0e0ecd
Fix NoCloseFile to expose full file object
lxp Jul 11, 2021
cea00b4
Open config file in text mode
lxp Jul 11, 2021
84a9649
Decode as ascii during hexlify
lxp Jul 11, 2021
9b93b5c
Replace usages of deprecated old_div function
lxp Jul 11, 2021
6dab673
Fix cfv_stdin_progress_test to read files in text mode
lxp Jul 11, 2021
063a7b9
Fix C_funkynames_test to correctly generate undecodable filenames
lxp Jul 11, 2021
3a53f22
Add exception parameter to ev_make_filenamedecodingerror
lxp Jul 11, 2021
d189172
Replace surrogate characters on filename display
lxp Jul 11, 2021
9a460bb
Remove bytes handling in osutil.path_join
lxp Jul 11, 2021
37b4788
Fix pusher to write binary in specialfile_test
lxp Jul 11, 2021
cda6043
Add missing operator in progress.INF
lxp Jul 11, 2021
7f77452
Fix tests largefile2GB_test and largefile4GB_test to write binary data
lxp Jul 11, 2021
8c343a9
Create github actions configuration
mtausig Oct 6, 2020
7e64d5c
Run flake
mtausig Oct 6, 2020
ca22f12
Merge pull request #13 from mtausig/CI
lxp Oct 6, 2020
70728cd
Add Github Actions CI pipeline for python3 branch
lxp Jul 12, 2021
3d10fe3
Fix python versions in Github Actions CI pipeline
lxp Jul 12, 2021
513eb0d
Remove python 3.10 from CI pipeline as there is no stable release yet
lxp Jul 12, 2021
ccdee53
Remove dependency on future
lxp Jul 12, 2021
d2c021e
Don't add the `.py` so we don't get file not found errors
stevenxxiu Jan 4, 2020
abe7cdb
Ignore Release.md during check-manifest
lxp Jul 12, 2021
a4c8a90
Remove varying comments in checksum files that lead to spurious test …
lxp Jul 12, 2021
2a2f8c4
Add cfv.1 and README.md to MANIFEST.in
lxp Jul 12, 2021
63a9560
Explicitly open files in text mode in setup.py
lxp Jul 12, 2021
c2266ef
Exit integration tests on first error
lxp Jul 13, 2021
23af18e
Update setup.py as we only support Python 3.5+
lxp Jul 13, 2021
18c7768
Update required Python versions in README.md
lxp Jul 13, 2021
2db28d9
Update Changelog and bump version to 3.0.0.dev0
lxp Jul 13, 2021
ff9c63e
Drop fchksum support as it does not support Python 3
lxp Jul 13, 2021
abf28b3
Reorder imports in setup.py
lxp Jul 13, 2021
54078ee
Use `errno` instead
stevenxxiu Jan 6, 2020
cd8ed69
Use errno parameter of EnvironmentError exceptions
lxp Jul 13, 2021
054e24b
Remove deprecated fallback imports
lxp Jul 13, 2021
13c5a3d
Remove checks and fallbacks for old Python 2.x versions
lxp Jul 13, 2021
ad9bf1c
Fix usage of exception arguments
lxp Jul 13, 2021
7b4e2aa
Remove unused osutil import
lxp Jul 13, 2021
c60987e
Reorder imports
lxp Jul 13, 2021
49ab0f0
Merge remote-tracking branch 'stevenxxiu/python3' into python3
lxp Jul 14, 2021
ec255f6
Use bool instead of int literals
lxp Jul 14, 2021
ce4e503
Write bytes instead of str in create_test_file
lxp Jul 14, 2021
94d812b
Remove deprecated u prefix in string literals
lxp Jul 14, 2021
ebd39c9
Update test.py usage
lxp Jul 14, 2021
d3c8058
Fix external test mode by using text mode for stdin, stdout and stderr
lxp Jul 14, 2021
ab556b9
Simplify newline handling in test harness
lxp Jul 14, 2021
cc4a1fa
Explicitly specify text or binary mode on every open call
lxp Jul 14, 2021
86fc9b5
Run integration tests internally and in external process
lxp Jul 14, 2021
08cdd78
Fix implicit str/bytes conversions
lxp Jul 30, 2021
949ec72
Remove unnecessary decoding of command line arguments
lxp Jul 30, 2021
6342322
Avoid using str() for decoding bytes
lxp Jul 30, 2021
e36a990
Remove fallback to os.getcwdb() and decoding of os.curdir
lxp Jul 30, 2021
5e9d19c
Use formatting to convert int to str
lxp Jul 30, 2021
689b298
Remove unnecessary str() on paths as they are already str
lxp Jul 30, 2021
066e560
Run process internal test suite with -bb to check for implicit bytes/…
lxp Jul 30, 2021
c195840
Merge pull request #20 from cfv-project/fix-bytes-str-conversation
lxp Jul 30, 2021
f2ccbec
Temporarily reduce maximum number of open file descriptors to 4096 wh…
lxp Jul 30, 2021
0dba5cd
Merge pull request #23 from cfv-project/fix-max-open-files-clipping
lxp Jul 30, 2021
9e05fca
Check if /data1 exists and adjust expected test outcome accordingly
lxp Jul 31, 2021
9686325
Show a warning if an external verfication tool is not available
lxp Jul 31, 2021
1737cf8
Re-format Github workflow file
lxp Jul 31, 2021
5060800
Install external test tools in CI pipeline
lxp Jul 31, 2021
9796352
Merge pull request #28 from cfv-project/fix-test-suite-issues
lxp Jul 31, 2021
3ab4887
Update Changelog for release of v3.0.0.dev0
lxp Aug 1, 2021
58bb035
Bump version
lxp Aug 1, 2021
b03e99e
Use uppercase algorithm name to match description of legacy hashes MD…
lxp Oct 29, 2021
71c0bbf
Use generic GnuSum_Base as GNU md5sum and sha1sum implementation and …
lxp Oct 29, 2021
ab66e6a
Fix unused hashlib imports
lxp Oct 29, 2021
5923538
Merge pull request #32 from cfv-project/use-gnusum-base-for-legacy-ha…
lxp Oct 29, 2021
3547a8e
Add FreeBSD runner to CI pipeline (Fixes #31)
lxp Oct 30, 2021
6b62ea3
Merge pull request #33 from cfv-project/add-ci-freebsd-runner
lxp Oct 31, 2021
11034e1
Update copyright years
lxp Oct 24, 2022
eb0a3c0
Merge pull request #35 from cfv-project/update-copyright
lxp Oct 24, 2022
52a6d9e
Update branch name in README.md
lxp Oct 24, 2022
32b2f06
Remove python2 branch related Github Actions
lxp Oct 24, 2022
aeaf681
Allow errors in CI during pyroma package quality checks
lxp Oct 24, 2022
4f67a66
Update FreeBSD runner to vmactions/freebsd-vm@v0.2.9
lxp Oct 24, 2022
3c7a422
Run on FreeBSD 12.3, 13.0 and 13.1
lxp Oct 24, 2022
a0ba05d
Use py39-pip in FreeBSD CI runner
lxp Oct 24, 2022
24850aa
Remove FreeBSD 13.0 from CI runner due to incompatible Python packages
lxp Oct 24, 2022
135ee20
Run check-manifest as runner user in FreeBSD CI to avoid Git error
lxp Oct 25, 2022
52133b0
Merge pull request #36 from cfv-project/rename-branches
lxp Oct 25, 2022
c76ed1a
Fix Flake8 error E741 ambiguous variable name
lxp Oct 28, 2022
e1580bf
Fix Flake8 error F401 'builtins.str' imported but unused
lxp Oct 28, 2022
d7864f7
Fix Flake8 error E211 whitespace before '('
lxp Oct 28, 2022
81f1042
CI: Do not ignore Flake8 errors
lxp Oct 28, 2022
08ee267
Merge pull request #37 from cfv-project/fix-flake8-errors
lxp Oct 28, 2022
e51b270
CI: Only allow pyroma errors on Python 3.5 and 3.6
lxp Oct 28, 2022
868d91e
CI: Update versions of Github actions
lxp Oct 28, 2022
9e7e02d
CI: Add new Python versions 3.10 and 3.11
lxp Oct 28, 2022
8d6b96e
CI: Add new OS Ubuntu 22.04
lxp Oct 28, 2022
bdce931
Merge pull request #38 from cfv-project/improve-ci
lxp Oct 28, 2022
b1320df
CI: Remove unused Travis CI file
lxp Oct 28, 2022
3ec3901
Merge pull request #39 from cfv-project/remove-travisci
lxp Oct 28, 2022
fdd4946
Fix Build Status badge in README.md
lxp Oct 29, 2022
4b2bf48
Add community-compiled list of alternative tools in README.md
lxp Oct 29, 2022
2729bc4
Add Python 3.10 and 3.11 classifiers to setup.py
lxp Oct 29, 2022
29c0d0b
Merge pull request #40 from cfv-project/update-readme
lxp Oct 30, 2022
d56dc66
Update Changelog
lxp Oct 30, 2022
db46e16
Update Changelog and bump version to 3.0.0
lxp Oct 30, 2022
dee5be3
Bump version to 3.0.1.dev0
lxp Oct 30, 2022
779d30f
Add unified Usage instructions to README.md
lxp Nov 1, 2022
5259bcb
tests: use assertEqual instead of assertEquals
sbraz Nov 1, 2022
8318426
Added AUR section to README.md
vestingz Nov 2, 2022
6e6d59e
Merge pull request #43 from sbraz/deprecation_warnings
lxp Nov 7, 2022
7185048
Merge pull request #46 from vestingz/add-aur-instructions
lxp Nov 7, 2022
c82e005
Update README.md with OS-specific install instructions for Arch Linux…
lxp Nov 7, 2022
636a203
CI: Update vmactions/freebsd-vm to v0.3.0
lxp Nov 8, 2022
d7a1a63
Install man page to <prefix>/share/man/man1 to conform to Filesystem …
lxp Nov 14, 2022
1debfeb
Update build status badges in README.md
lxp Nov 14, 2022
0b7f930
CI: Remove unsupported Ubuntu 18.04 OS
lxp May 15, 2024
417c831
CI: Add new OS Ubuntu 24.04
lxp May 15, 2024
25f9604
CI: Update actions/setup-python to v5
lxp May 15, 2024
f2e9b82
CI: Update actions/checkout to v4
lxp May 15, 2024
fa980d5
CI: Always fetch latest Python versions and allow pre-releases
lxp May 15, 2024
362c427
Drop support for Python 3.5
lxp May 15, 2024
88d759d
Fix Flake8 error E721 do not compare types
lxp May 16, 2024
cdb112d
CI: Update vmactions/freebsd-vm to v1
lxp May 16, 2024
15fa636
CI: Move FreeBSD runner from unsupported versions 12.3 and 13.1 to su…
lxp May 16, 2024
438c629
CI: Install rust compiler on FreeBSD runner required for pip packages
lxp May 16, 2024
d2fa48e
CI: Run pipeline every Friday and allow manual starts
lxp May 16, 2024
e49a9f6
CI: Fix UID/GID of FreeBSD runner user
lxp May 16, 2024
ed2b4bb
Merge pull request #55 from cfv-project/fix-ci
lxp May 16, 2024
a52dafb
Fix tests for Python 3.12: remove "imp", fixes #21, #44
sbraz May 12, 2024
afab354
Merge pull request #53 from sbraz/python312_sumport_imp
lxp May 18, 2024
48a2607
CI: Create GitHub issue for new Python minor versions
lxp May 18, 2024
b86ff13
Merge pull request #59 from cfv-project/ci-py3-dependencies
lxp May 19, 2024
15b4ac6
CI: Add write permission for issues to CI Python3 Dependencies
lxp May 19, 2024
c5bbe38
CI: Fix duplicate issue creation
lxp May 19, 2024
a704bff
CI: Fix workflow name of CI python3 Dependencies
lxp May 19, 2024
c968dfe
Merge pull request #60 from cfv-project/ci-py3-dependencies-2
lxp May 19, 2024
0f3ab7a
Add support for Python 3.12
lxp May 16, 2024
5f9d730
CI: Treat Python warnings (like deprecation warnings) as errors
lxp May 18, 2024
a9bb6fb
Fix DeprecationWarning: unittest.findTestCases() is deprecated and wi…
lxp May 18, 2024
d13994a
Refactor test function to correctly close checksum file
lxp May 19, 2024
f196db6
Correctly close files during checksum verification
lxp May 19, 2024
ccc973b
Correctly close logfile on end of test
lxp May 19, 2024
77bdb3e
Correctly close image files
lxp May 20, 2024
67a9937
Correctly close test files
lxp May 20, 2024
dc3d8de
Update changelog
lxp May 20, 2024
7a1b89b
Add support for Python 3.13
lxp May 20, 2024
cdb009a
Update Changelog
lxp May 20, 2024
7d77a76
Merge pull request #56 from cfv-project/ci-py3.12-py3.12
lxp May 20, 2024
564ffab
Update Changelog and bump version to 3.1.0.dev0
lxp May 20, 2024
b101d1a
Update copyright
lxp May 20, 2024
61394c2
Update release procedure
lxp May 20, 2024
49ed356
Update Changelog and bump version to 3.1.0
lxp May 20, 2024
d4db6d0
Bump version
lxp May 20, 2024
732344c
Fix typos
kianmeng May 20, 2024
71e3f3e
Fix Flake8 error E501 line too long (201 > 200 characters)
lxp May 22, 2024
31086a0
Merge pull request #63 from kianmeng/fix-typos
lxp May 22, 2024
cad2b0d
CI: Use versionless pip package name to follow FreeBSD system Python …
lxp Jul 19, 2024
000c023
CI: Remove unsupported FreeBSD version 13.2
lxp Jul 19, 2024
9af2d0a
CI: Add new FreeBSD version 14.1
lxp Jul 19, 2024
ddb9fe2
Merge pull request #64 from cfv-project/ci-fix-freebsd-py3.11
lxp Jul 19, 2024
578a997
Add support for Python 3.14
lxp Aug 9, 2024
d97b007
Merge pull request #66 from cfv-project/ci-py3.14
lxp Aug 9, 2024
cc7d84c
CI: Add new FreeBSD version 13.4
lxp Sep 21, 2024
64fd49f
Merge pull request #67 from cfv-project/ci-freebsd13.4
lxp Sep 21, 2024
8f7c849
CI: Add new FreeBSD version 15.0
lxp Nov 2, 2024
daf437a
Merge pull request #68 from cfv-project/ci-freebsd15.0
lxp Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/ci-python3-dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# This is a basic workflow to help you get started with Actions

name: CI python3 Dependencies

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
workflow_dispatch:
schedule:
- cron: '37 15 * * 5'

permissions:
issues: write

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
test:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Create GitHub issue if new Python minor version is available
uses: actions/github-script@v7
with:
script: |
// Get latest Python minor version
const pythonVersions = await fetch('https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json')
.then(response => response.json())
.then(data => data.map(pythonVersion => pythonVersion.version))
.then(pythonVersions => pythonVersions.sort((a, b) => b.localeCompare(a, undefined, { numeric: true })))
const latestPythonMinorVersion = pythonVersions[0].split('.').slice(0, 2).join('.')

// Check if new Python minor version exists
if (latestPythonMinorVersion === '3.14') {
return
}

console.log('New Python minor version detected: ' + latestPythonMinorVersion)

// Check if Github issue already exists
const issueTitle = 'Add support for Python ' + latestPythonMinorVersion
const issues = await github.paginate(github.rest.issues.listForRepo, {
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
})
const existingIssue = issues.find(issue => issue.title === issueTitle)
if (existingIssue) {
console.log('Issue already exists')
return
}

// Create new Github issue
github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: issueTitle,
})
console.log('New Github issue created')
89 changes: 89 additions & 0 deletions .github/workflows/ci-python3-freebsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# This is a basic workflow to help you get started with Actions

name: CI python3 FreeBSD

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ python3 ]
pull_request:
branches: [ python3 ]
workflow_dispatch:
schedule:
- cron: '37 15 * * 5'

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
test:
# The type of runner that the job will run on
runs-on: ubuntu-latest

strategy:
matrix:
freebsd-release: [ '13.3', '13.4', '14.0', '14.1', '15.0' ]

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4

- name: Test in FreeBSD
uses: vmactions/freebsd-vm@v1
with:
release: ${{ matrix.freebsd-release }}
usesh: true
prepare: pkg install -y python3 devel/py-pip coreutils cksfv git-tiny rust
run: |
set -ex

pwd
ls -lah
whoami
env
freebsd-version

ln -s /usr/local/bin/python3 /usr/local/bin/python
ln -s /usr/local/bin/gmd5sum /usr/local/bin/md5sum
ln -s /usr/local/bin/gsha1sum /usr/local/bin/sha1sum
ln -s /usr/local/bin/gsha224sum /usr/local/bin/sha224sum
ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum
ln -s /usr/local/bin/gsha384sum /usr/local/bin/sha384sum
ln -s /usr/local/bin/gsha512sum /usr/local/bin/sha512sum

pw groupadd docker -g 127
pw useradd runner -u 1001 -g docker

# Install test dependencies
pip install pyroma
pip install check-manifest
pip install twine
pip install wheel
pip install flake8
pip list

# Check syntax by compiling code
python -W error -bb -m compileall -f .

# Run unit tests
su runner -c 'python -W error -bb test/test.py --unit --exit-early'

# Run integration tests (internal)
su runner -c 'ulimit -n; ulimit -n 4096; python -W error -bb test/test.py -i --exit-early'

# Run integration tests (external process)
su runner -c 'ulimit -n; ulimit -n 4096; test/test.py -e --exit-early'

# Check package quality
pyroma -n 9 .

# Check the completeness of MANIFEST.in
su runner -c 'check-manifest --ignore=Release.md .'

# Run flake
flake8 --exclude=build,venv --ignore= --max-line-length=200 --max-complexity=75 --show-source --statistics .

# Check distribution
python setup.py sdist bdist_wheel
twine check dist/*
91 changes: 91 additions & 0 deletions .github/workflows/ci-python3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# This is a basic workflow to help you get started with Actions

name: CI python3

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ python3 ]
pull_request:
branches: [ python3 ]
workflow_dispatch:
schedule:
- cron: '37 15 * * 5'

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
test:
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ ubuntu-24.04, ubuntu-22.04, ubuntu-20.04 ]
python-version: [ '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ]
# Exclude unsupported OS/Python version combinations
exclude:
- os: ubuntu-22.04
python-version: '3.6'
- os: ubuntu-24.04
python-version: '3.6'
- os: ubuntu-24.04
python-version: '3.7'
- os: ubuntu-24.04
python-version: '3.8'

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
check-latest: true

- name: Install test dependencies
run: |
sudo apt install coreutils cksfv
pip install pyroma
pip install check-manifest
pip install twine
pip install wheel
pip install flake8
pip list

- name: Check syntax by compiling code
run: python -W error -bb -m compileall -f .

- name: Run unit tests
run: python -W error -bb test/test.py --unit --exit-early

- name: Run integration tests (internal)
run: |
ulimit -n
ulimit -n 4096
python -W error -bb test/test.py -i --exit-early

- name: Run integration tests (external process)
run: |
ulimit -n
ulimit -n 4096
test/test.py -e --exit-early

- name: Check package quality
continue-on-error: ${{ contains(fromJson('["3.6"]'), matrix.python-version) }}
run: pyroma -n 9 .

- name: Check the completeness of MANIFEST.in
run: check-manifest --ignore=Release.md .

- name: Run flake
run: flake8 --exclude=build,venv --ignore= --max-line-length=200 --max-complexity=75 --show-source --statistics .

- name: Check distribution
run: |
python setup.py sdist bdist_wheel
twine check dist/*
21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.

33 changes: 23 additions & 10 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
2019-xx-xx - v2.0.1.dev0:
* Nothing yet.
2024-xx-xx - v3.1.1.dev0:
* WARNING: This is a development snapshot, not a stable release.

2024-05-20 - v3.1.0:
* Drop support for Python 3.5.
* Python 3.6 is now the minimum supported version.
* Add support for Python 3.12 (Thanks to Louis Sautier).
* Add support for Python 3.13.
* Correctly close files in various situations.

2022-10-30 - v3.0.0:
* Tested platforms: Linux and FreeBSD. If there is interest in supporting more platforms (e.g. OSX and Windows), please get in contact with the project.
* Support for Python 3 (Thanks to Steven Xu for major contributions).
* Python 3.5 is now the minimum supported version.
* Dropped fchksum support, as it does not support Python 3.

2019-03-27 - v2.0.0:
* Now fully unicode aware. Work is done internally in unicode, only translating to encoded form on input/output.
Expand Down Expand Up @@ -47,7 +60,7 @@
* Add -s option to search for misnamed files.
* Make .torrent support try BitTornado module if BitTorrent isn't found.
* Fix --strippaths=0 handling of multiple leading slashes and of dos-style drive letters with forward slashes.
* Improve handling of " and , in filenames in CSV files. (CSV parsing still won't be 100% correct, but doing any better would basically require adding a dependancy on some external csv module..)
* Improve handling of " and , in filenames in CSV files. (CSV parsing still won't be 100% correct, but doing any better would basically require adding a dependency on some external csv module..)
* Replace automagic buggy-quoting workaround with --unquote option, fixes --strippath handling of quoted filenames and avoids potential insanity with -n, -s, and quoted filenames.

2003-11-20 - v1.16:
Expand Down Expand Up @@ -80,7 +93,7 @@
* Add win32src zip and win32 installer exe (using NSIS and py2exe).

2002-12-18 - v1.13:
* Fix exception in test mode when specifying -t and -f with a non-existant file.
* Fix exception in test mode when specifying -t and -f with a non-existent file.
* Add support for sfvmd5 files generated by some windows software. (Just a SFV formatted file using md5 checksums rather than crc32.)
* Handle quoted paths and filenames in csv4 files.
* Add filename_type .cfvrc option to allow user overriding of what type of checksum file to create when -t isn't specified and -f is.
Expand All @@ -89,11 +102,11 @@
2002-09-23 - v1.12:
* Fix make install when target directories don't already exist. (Reported by Svend S. Sorensen)
* Fix cfv -u -t blah -f foo.blah from reporting foo.blah as unverified.
* Make create mode also display seperate stats per checksum file.
* Make create mode also display separate stats per checksum file.
* Make create mode be verbose in verbose mode.
* Fix exception on error creating/writing a checksum file. (Eg, in a readonly dir, or a full drive.)
* Accept files with weird line endings (eg \r\r\n).
* Add support for (JPEG Sheriff format) .crc files. (The dimensions column is only added if The Python Imaging Library is avialable.)
* Add support for (JPEG Sheriff format) .crc files. (The dimensions column is only added if The Python Imaging Library is available.)
* Fix printing incorrect paths for subsequent files in recursive mode after encountering a directory that could not be accessed.

2002-04-08 - v1.11:
Expand All @@ -114,7 +127,7 @@
* Print stats about number of case differences and quoted filenames.
* In recursive mode, an unaccessible dir no longer causes an exception. (Reported by Harley Gorrell)
* Fix excessive memory usage on deep recursive create mode in tree with lots of files. (Reported by Harley Gorrell)
* Display seperate stats per checksum file, and (if needed) a total at the end.
* Display separate stats per checksum file, and (if needed) a total at the end.
* In create mode, an already existing checksum file now causes a cferror, rather than an immediate exit.

2001-09-03 - v1.9:
Expand Down Expand Up @@ -159,21 +172,21 @@
2000-11-08 - v1.6:
* Added ignore case option.
* Added fix paths option.
* Added handler for csv files with the dir seperate from the file name (-t csv4).
* Added handler for csv files with the dir separate from the file name (-t csv4).
* Makes any absolute paths found in checksum files into relative paths.
* Added show paths option.

2000-10-17 - v1.5.2:
* Added test suite.
* Fixed 'x not in list' error when using -u and checksum file was not among the files to be tested. (First bug found with test suite ;)
* Exits with non-zero status if any errors occured.
* Exits with non-zero status if any errors occurred.

2000-10-12 - v1.5.1:
* Fixed install wrapper stuff to compile _after_ it has been installed into the target dir.

2000-10-12 - v1.5:
* Fixed "illegal argument type" error when creating csv format files.
* Added note to manpage about -rr and path seperators.
* Added note to manpage about -rr and path separators.
* Added show unverified files option.
* Fixed md5 file testing when specifying files to test as command line args.

Expand Down
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
include COPYING
include Changelog
include cfv.1
include README.md
include lib/cfv/BitTorrent/LICENSE.txt
prune Release.md
prune debian
Expand Down
Loading