From c5e4773df6361f1651a7d2e0f60efd42d971ec5d Mon Sep 17 00:00:00 2001 From: Joachim Metz Date: Sat, 2 May 2026 12:46:36 +0200 Subject: [PATCH 1/4] Changes for CI tests --- .github/workflows/test_docs.yml | 2 +- .github/workflows/test_tox.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index 3c0fd02..e5f94ba 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -17,7 +17,7 @@ jobs: - python-version: '3.12' toxenv: 'docs' container: - image: ubuntu:24.04 + image: ubuntu:26.04 steps: - uses: actions/checkout@v4 - name: Set up container diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index 8197de0..8c58ee4 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -25,7 +25,7 @@ jobs: - python-version: '3.14' toxenv: 'py314,wheel' container: - image: ubuntu:24.04 + image: ubuntu:26.04 steps: - uses: actions/checkout@v4 - name: Set up container @@ -58,7 +58,7 @@ jobs: - python-version: '3.12' toxenv: 'coverage' container: - image: ubuntu:24.04 + image: ubuntu:26.04 steps: - uses: actions/checkout@v4 - name: Set up container @@ -95,7 +95,7 @@ jobs: - python-version: '3.12' toxenv: 'lint' container: - image: ubuntu:24.04 + image: ubuntu:26.04 steps: - uses: actions/checkout@v4 - name: Set up container From b3e5b74cf56e237fcae4e4931607de1ab66501db Mon Sep 17 00:00:00 2001 From: Joachim Metz Date: Sat, 2 May 2026 14:22:14 +0200 Subject: [PATCH 2/4] Changes for CI tests --- .github/workflows/test_tox.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index 8c58ee4..bb7f9d9 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -92,7 +92,7 @@ jobs: strategy: matrix: include: - - python-version: '3.12' + - python-version: '3.14' toxenv: 'lint' container: image: ubuntu:26.04 From 03a10e68c9879bac330e71ed6cef561500436351 Mon Sep 17 00:00:00 2001 From: Joachim Metz Date: Tue, 5 May 2026 07:22:44 +0200 Subject: [PATCH 3/4] Changes for CI tests and code clean up --- .github/workflows/test_docker.yml | 6 +++--- .github/workflows/test_docs.yml | 10 ++++----- .github/workflows/test_macos.yml | 2 +- .github/workflows/test_tox.yml | 36 ++++++++++++++----------------- .pylintrc | 1 - dfdatetime/cocoa_time.py | 2 +- dfdatetime/delphi_date_time.py | 2 +- dfdatetime/dotnet_datetime.py | 2 +- dfdatetime/fake_time.py | 4 ++-- dfdatetime/fat_date_time.py | 4 ++-- dfdatetime/filetime.py | 2 +- dfdatetime/golang_time.py | 2 +- dfdatetime/hfs_time.py | 2 +- dfdatetime/interface.py | 8 +++---- dfdatetime/ole_automation_date.py | 2 +- dfdatetime/posix_time.py | 8 +++---- dfdatetime/precisions.py | 2 +- dfdatetime/rfc2579_date_time.py | 2 +- dfdatetime/serializer.py | 12 +++++------ dfdatetime/systemtime.py | 2 +- dfdatetime/time_elements.py | 6 +++--- dfdatetime/uuid_time.py | 2 +- dfdatetime/webkit_time.py | 2 +- pyproject.toml | 2 +- 24 files changed, 58 insertions(+), 65 deletions(-) diff --git a/.github/workflows/test_docker.yml b/.github/workflows/test_docker.yml index d8aac79..96908dc 100644 --- a/.github/workflows/test_docker.yml +++ b/.github/workflows/test_docker.yml @@ -1,4 +1,4 @@ -# Run tests on Fedora and Ubuntu Docker images using GIFT CORP and GIFT PPA on commit +# Run tests on Fedora and Ubuntu Docker images using GIFT COPR and GIFT PPA on commit name: test_docker on: [push] permissions: read-all @@ -11,7 +11,7 @@ jobs: container: image: registry.fedoraproject.org/fedora:${{ matrix.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container run: | dnf install -y dnf-plugins-core langpacks-en @@ -41,7 +41,7 @@ jobs: container: image: ubuntu:${{ matrix.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container env: DEBIAN_FRONTEND: noninteractive diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index e5f94ba..690c615 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -1,4 +1,4 @@ -# Run docs tox tests on Ubuntu Docker images using GIFT PPA +# Run docs tox tests on Ubuntu Docker images using the deadsnakes and GIFT PPAs name: test_docs on: pull_request: @@ -13,13 +13,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - include: - - python-version: '3.12' - toxenv: 'docs' + python-version: ['3.12'] container: image: ubuntu:26.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container env: DEBIAN_FRONTEND: noninteractive @@ -41,4 +39,4 @@ jobs: env: LANG: en_US.UTF-8 run: | - tox -e${{ matrix.toxenv }} + tox -e docs diff --git a/.github/workflows/test_macos.yml b/.github/workflows/test_macos.yml index 21a40dc..4132820 100644 --- a/.github/workflows/test_macos.yml +++ b/.github/workflows/test_macos.yml @@ -12,7 +12,7 @@ jobs: python-version: '3.14' toxenv: 'py314' steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Install dependencies run: | brew update -q diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index bb7f9d9..b21d0aa 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -1,4 +1,4 @@ -# Run tox tests on Ubuntu Docker images using GIFT PPA +# Run tox tests on Ubuntu Docker images using the deadsnakes and GIFT PPAs name: test_tox on: pull_request: @@ -15,19 +15,19 @@ jobs: matrix: include: - python-version: '3.10' - toxenv: 'py310,wheel' + toxenv: 'py310' - python-version: '3.11' - toxenv: 'py311,wheel' + toxenv: 'py311' - python-version: '3.12' - toxenv: 'py312,wheel' + toxenv: 'py312' - python-version: '3.13' - toxenv: 'py313,wheel' + toxenv: 'py313' - python-version: '3.14' - toxenv: 'py314,wheel' + toxenv: 'py314' container: image: ubuntu:26.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container env: DEBIAN_FRONTEND: noninteractive @@ -49,18 +49,16 @@ jobs: env: LANG: en_US.UTF-8 run: | - tox -e${{ matrix.toxenv }} + tox -e ${{ matrix.toxenv }},wheel coverage: runs-on: ubuntu-latest strategy: matrix: - include: - - python-version: '3.12' - toxenv: 'coverage' + python-version: ['3.12'] container: image: ubuntu:26.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container env: DEBIAN_FRONTEND: noninteractive @@ -77,27 +75,25 @@ jobs: add-apt-repository -y ppa:deadsnakes/ppa add-apt-repository -y ppa:gift/dev apt-get update -q - apt-get install -y build-essential git pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv python3-pip python3-setuptools tox + apt-get install -y build-essential curl git pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv python3-pip python3-setuptools tox - name: Run tests with coverage env: LANG: en_US.UTF-8 run: | - tox -e${{ matrix.toxenv }} + tox -e coverage - name: Upload coverage report to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v6 with: token: ${{ secrets.CODECOV_TOKEN }} lint: runs-on: ubuntu-latest strategy: matrix: - include: - - python-version: '3.14' - toxenv: 'lint' + python-version: ['3.12'] container: image: ubuntu:26.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up container env: DEBIAN_FRONTEND: noninteractive @@ -119,4 +115,4 @@ jobs: env: LANG: en_US.UTF-8 run: | - tox -e${{ matrix.toxenv }} + tox -e lint diff --git a/.pylintrc b/.pylintrc index 8adccca..ca6099d 100644 --- a/.pylintrc +++ b/.pylintrc @@ -449,7 +449,6 @@ confidence=HIGH, # --disable=W". disable=assignment-from-none, bad-inline-option, - consider-using-f-string, deprecated-pragma, duplicate-code, file-ignored, diff --git a/dfdatetime/cocoa_time.py b/dfdatetime/cocoa_time.py index 730afc0..30c6ea3 100644 --- a/dfdatetime/cocoa_time.py +++ b/dfdatetime/cocoa_time.py @@ -93,7 +93,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') timestamp = self._GetNumberOfSecondsFromElements( year, month, day_of_month, hours, minutes, seconds) diff --git a/dfdatetime/delphi_date_time.py b/dfdatetime/delphi_date_time.py index efa5417..60218b8 100644 --- a/dfdatetime/delphi_date_time.py +++ b/dfdatetime/delphi_date_time.py @@ -98,7 +98,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year > 9999: raise ValueError(f'Unsupported year value: {year:d}.') diff --git a/dfdatetime/dotnet_datetime.py b/dfdatetime/dotnet_datetime.py index 7075683..86e705d 100644 --- a/dfdatetime/dotnet_datetime.py +++ b/dfdatetime/dotnet_datetime.py @@ -94,7 +94,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year > 9999: raise ValueError(f'Unsupported year value: {year:d}.') diff --git a/dfdatetime/fake_time.py b/dfdatetime/fake_time.py index e53e6c1..d0992b6 100644 --- a/dfdatetime/fake_time.py +++ b/dfdatetime/fake_time.py @@ -80,8 +80,8 @@ def CopyFromDateTimeString(self, time_string): hours = date_time_values.get('hours', 0) minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) - nanoseconds = date_time_values.get('nanoseconds', None) - time_zone_offset = date_time_values.get('time_zone_offset', None) + nanoseconds = date_time_values.get('nanoseconds') + time_zone_offset = date_time_values.get('time_zone_offset') self._normalized_timestamp = None self._number_of_seconds = self._GetNumberOfSecondsFromElements( diff --git a/dfdatetime/fat_date_time.py b/dfdatetime/fat_date_time.py index d921e7b..2cc8bb3 100644 --- a/dfdatetime/fat_date_time.py +++ b/dfdatetime/fat_date_time.py @@ -154,7 +154,7 @@ def CopyFromDateTimeString(self, time_string): hours = date_time_values.get('hours', 0) minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 1980 or year > (1980 + 0x7f): raise ValueError(f'Year value not supported: {year!s}.') @@ -265,7 +265,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 1980 or year > (1980 + 0x7f): raise ValueError(f'Year value not supported: {year!s}.') diff --git a/dfdatetime/filetime.py b/dfdatetime/filetime.py index b014080..4e5e1c4 100644 --- a/dfdatetime/filetime.py +++ b/dfdatetime/filetime.py @@ -98,7 +98,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 1601: raise ValueError(f'Year value not supported: {year!s}.') diff --git a/dfdatetime/golang_time.py b/dfdatetime/golang_time.py index f7de18e..f3e6858 100644 --- a/dfdatetime/golang_time.py +++ b/dfdatetime/golang_time.py @@ -175,7 +175,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 0: raise ValueError(f'Year value not supported: {year!s}.') diff --git a/dfdatetime/hfs_time.py b/dfdatetime/hfs_time.py index 1031c5a..5d7ca20 100644 --- a/dfdatetime/hfs_time.py +++ b/dfdatetime/hfs_time.py @@ -94,7 +94,7 @@ def CopyFromDateTimeString(self, time_string): hours = date_time_values.get('hours', 0) minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 1904 or year > 2040: raise ValueError('Year value not supported.') diff --git a/dfdatetime/interface.py b/dfdatetime/interface.py index 95b5e00..057b765 100644 --- a/dfdatetime/interface.py +++ b/dfdatetime/interface.py @@ -746,7 +746,7 @@ def _GetNumberOfDaysInCentury(self, year): year, _ = divmod(year, 100) year *= 100 - number_of_days = definitions.DAYS_PER_CENTURY.get(year, None) + number_of_days = definitions.DAYS_PER_CENTURY.get(year) if number_of_days is not None: return number_of_days @@ -763,7 +763,7 @@ def _GetNumberOfDaysInYear(self, year): Returns: int: number of days in the year. """ - number_of_days = definitions.DAYS_PER_YEAR.get(year, None) + number_of_days = definitions.DAYS_PER_YEAR.get(year) if number_of_days is not None: return number_of_days @@ -809,7 +809,7 @@ def _GetNumberOfSecondsFromElements( elif seconds not in range(0, 60): raise ValueError(f'Seconds value: {seconds!s} out of bounds.') - number_of_days = definitions.DAYS_PER_YEAR_IN_POSIX_EPOCH.get(year, None) + number_of_days = definitions.DAYS_PER_YEAR_IN_POSIX_EPOCH.get(year) if number_of_days is None: raise ValueError(f'Year value: {year!s} out of bounds.') @@ -896,7 +896,7 @@ def CopyToPosixTimestampWithFractionOfSecond(self): if normalized_timestamp is None: return None, None - remainder_multiplier = self._REMAINDER_MULTIPLIER.get(self._precision, None) + remainder_multiplier = self._REMAINDER_MULTIPLIER.get(self._precision) if not remainder_multiplier: remainder = None elif normalized_timestamp >= 0: diff --git a/dfdatetime/ole_automation_date.py b/dfdatetime/ole_automation_date.py index 802404a..e04fa0e 100644 --- a/dfdatetime/ole_automation_date.py +++ b/dfdatetime/ole_automation_date.py @@ -99,7 +99,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') timestamp = self._GetNumberOfSecondsFromElements( year, month, day_of_month, hours, minutes, seconds) diff --git a/dfdatetime/posix_time.py b/dfdatetime/posix_time.py index a75bfab..3a01a17 100644 --- a/dfdatetime/posix_time.py +++ b/dfdatetime/posix_time.py @@ -89,7 +89,7 @@ def CopyFromDateTimeString(self, time_string): hours = date_time_values.get('hours', 0) minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') self._timestamp = self._GetNumberOfSecondsFromElements( year, month, day_of_month, hours, minutes, seconds) @@ -187,7 +187,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') milliseconds, _ = divmod( nanoseconds, definitions.NANOSECONDS_PER_MILLISECOND) @@ -293,7 +293,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') milliseconds, _ = divmod( nanoseconds, definitions.NANOSECONDS_PER_MICROSECOND) @@ -399,7 +399,7 @@ def _CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') timestamp = self._GetNumberOfSecondsFromElements( year, month, day_of_month, hours, minutes, seconds) diff --git a/dfdatetime/precisions.py b/dfdatetime/precisions.py index 2543f42..99f14d6 100644 --- a/dfdatetime/precisions.py +++ b/dfdatetime/precisions.py @@ -394,7 +394,7 @@ def CreatePrecisionHelper(cls, precision): Raises: ValueError: if the precision value is unsupported. """ - precision_helper_class = cls._PRECISION_CLASSES.get(precision, None) + precision_helper_class = cls._PRECISION_CLASSES.get(precision) if not precision_helper_class: raise ValueError(f'Unsupported precision: {precision!s}') diff --git a/dfdatetime/rfc2579_date_time.py b/dfdatetime/rfc2579_date_time.py index 30197b0..fc60a4e 100644 --- a/dfdatetime/rfc2579_date_time.py +++ b/dfdatetime/rfc2579_date_time.py @@ -208,7 +208,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') deciseconds, _ = divmod( nanoseconds, definitions.NANOSECONDS_PER_DECISECOND) diff --git a/dfdatetime/serializer.py b/dfdatetime/serializer.py index 6c78ab5..5ff72cb 100644 --- a/dfdatetime/serializer.py +++ b/dfdatetime/serializer.py @@ -183,7 +183,7 @@ def ConvertJSONToDateTimeValues(cls, json_dict): Returns: dfdatetime.DateTimeValues: date and time values. """ - class_name = json_dict.get('__class_name__', None) + class_name = json_dict.get('__class_name__') if class_name: del json_dict['__class_name__'] @@ -193,25 +193,25 @@ def ConvertJSONToDateTimeValues(cls, json_dict): if class_name not in ( 'TimeElements', 'TimeElementsInMilliseconds', 'TimeElementsInMicroseconds'): - is_delta = json_dict.get('is_delta', None) + is_delta = json_dict.get('is_delta') if is_delta is not None: del json_dict['is_delta'] - is_local_time = json_dict.get('is_local_time', None) + is_local_time = json_dict.get('is_local_time') if is_local_time is not None: del json_dict['is_local_time'] - time_zone_hint = json_dict.get('time_zone_hint', None) + time_zone_hint = json_dict.get('time_zone_hint') if time_zone_hint is not None: del json_dict['time_zone_hint'] if class_name in ('InvalidTime', 'Never', 'NotSet'): - string = json_dict.get('string', None) + string = json_dict.get('string') if string is not None: del json_dict['string'] if class_name in ('GolangTime', 'RFC2579DateTime'): - time_zone_offset = json_dict.get('time_zone_offset', None) + time_zone_offset = json_dict.get('time_zone_offset') if time_zone_offset is not None: del json_dict['time_zone_offset'] diff --git a/dfdatetime/systemtime.py b/dfdatetime/systemtime.py index 6e60a4f..80e372e 100644 --- a/dfdatetime/systemtime.py +++ b/dfdatetime/systemtime.py @@ -183,7 +183,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') milliseconds, _ = divmod( nanoseconds, definitions.NANOSECONDS_PER_MILLISECOND) diff --git a/dfdatetime/time_elements.py b/dfdatetime/time_elements.py index 2c81e8e..0d76d6c 100644 --- a/dfdatetime/time_elements.py +++ b/dfdatetime/time_elements.py @@ -357,7 +357,7 @@ def _CopyFromDateTimeValues(self, date_time_values): hours = date_time_values.get('hours', 0) minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') self._normalized_timestamp = None self._number_of_seconds = self._GetNumberOfSecondsFromElements( @@ -590,7 +590,7 @@ def _CopyTimeFromStringRFC(self, time_string, time_zone_string): raise ValueError('Time zone string too long.') if time_zone_string_length < 5: - hours_from_utc = self._RFC_TIME_ZONE_MAPPINGS.get(time_zone_string, None) + hours_from_utc = self._RFC_TIME_ZONE_MAPPINGS.get(time_zone_string) minutes_from_utc = 0 if hours_from_utc is None: raise ValueError(f'Invalid time zone: {time_zone_string:s}.') @@ -971,7 +971,7 @@ def _CopyFromDateTimeValues(self, date_time_values): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') precision_helper = precisions.PrecisionHelperFactory.CreatePrecisionHelper( self._precision) diff --git a/dfdatetime/uuid_time.py b/dfdatetime/uuid_time.py index 30ce420..420ccb7 100644 --- a/dfdatetime/uuid_time.py +++ b/dfdatetime/uuid_time.py @@ -104,7 +104,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') if year < 1582: raise ValueError('Year value not supported.') diff --git a/dfdatetime/webkit_time.py b/dfdatetime/webkit_time.py index 8aeedb0..c5db4ab 100644 --- a/dfdatetime/webkit_time.py +++ b/dfdatetime/webkit_time.py @@ -95,7 +95,7 @@ def CopyFromDateTimeString(self, time_string): minutes = date_time_values.get('minutes', 0) seconds = date_time_values.get('seconds', 0) nanoseconds = date_time_values.get('nanoseconds', 0) - time_zone_offset = date_time_values.get('time_zone_offset', None) + time_zone_offset = date_time_values.get('time_zone_offset') microseconds, _ = divmod( nanoseconds, definitions.NANOSECONDS_PER_MICROSECOND) diff --git a/pyproject.toml b/pyproject.toml index 02b0fca..46e5c6f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "dfdatetime" -version = "20260501" +version = "20260504" description = "Digital Forensics date and time (dfDateTime)" maintainers = [ { name = "Log2Timeline maintainers", email = "log2timeline-maintainers@googlegroups.com" }, From 5fb67b088d6df7f9b6f8b5c722ae84cae0fffb59 Mon Sep 17 00:00:00 2001 From: Joachim Metz Date: Tue, 5 May 2026 07:23:51 +0200 Subject: [PATCH 4/4] Changes for CI tests and code clean up --- .github/workflows/test_docs.yml | 2 +- .github/workflows/test_tox.yml | 6 +++--- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_docs.yml b/.github/workflows/test_docs.yml index 690c615..d47a320 100644 --- a/.github/workflows/test_docs.yml +++ b/.github/workflows/test_docs.yml @@ -15,7 +15,7 @@ jobs: matrix: python-version: ['3.12'] container: - image: ubuntu:26.04 + image: ubuntu:24.04 steps: - uses: actions/checkout@v6 - name: Set up container diff --git a/.github/workflows/test_tox.yml b/.github/workflows/test_tox.yml index b21d0aa..c3fb1d9 100644 --- a/.github/workflows/test_tox.yml +++ b/.github/workflows/test_tox.yml @@ -25,7 +25,7 @@ jobs: - python-version: '3.14' toxenv: 'py314' container: - image: ubuntu:26.04 + image: ubuntu:24.04 steps: - uses: actions/checkout@v6 - name: Set up container @@ -56,7 +56,7 @@ jobs: matrix: python-version: ['3.12'] container: - image: ubuntu:26.04 + image: ubuntu:24.04 steps: - uses: actions/checkout@v6 - name: Set up container @@ -91,7 +91,7 @@ jobs: matrix: python-version: ['3.12'] container: - image: ubuntu:26.04 + image: ubuntu:24.04 steps: - uses: actions/checkout@v6 - name: Set up container diff --git a/pyproject.toml b/pyproject.toml index 46e5c6f..2c678a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "dfdatetime" -version = "20260504" +version = "20260505" description = "Digital Forensics date and time (dfDateTime)" maintainers = [ { name = "Log2Timeline maintainers", email = "log2timeline-maintainers@googlegroups.com" },