mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Leave the recipes/ code at 2 space to match the rest of the recipes
project in other repos.
Reformatted using:
files=( $(
git ls-tree -r --name-only HEAD | \
grep -Ev -e '^(third_party|recipes)/' | \
grep '\.py$';
git grep -l '#!/usr/bin/env.*python' | grep -v '\.py$'
) )
parallel ./yapf -i -- "${files[@]}"
~/chromiumos/chromite/contrib/reflow_overlong_comments "${files[@]}"
The files that still had strings that were too long were manually
reformatted because they were easy and only a few issues.
autoninja.py
clang_format.py
download_from_google_storage.py
fix_encoding.py
gclient_utils.py
git_cache.py
git_common.py
git_map_branches.py
git_reparent_branch.py
gn.py
my_activity.py
owners_finder.py
presubmit_canned_checks.py
reclient_helper.py
reclientreport.py
roll_dep.py
rustfmt.py
siso.py
split_cl.py
subcommand.py
subprocess2.py
swift_format.py
upload_to_google_storage.py
These files still had lines (strings) that were too long, so the pylint
warnings were suppressed with a TODO.
auth.py
gclient.py
gclient_eval.py
gclient_paths.py
gclient_scm.py
gerrit_util.py
git_cl.py
presubmit_canned_checks.py
presubmit_support.py
scm.py
Change-Id: Ia6535c4f2c48d46b589ec1e791dde6c6b2ea858f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4836379
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
# Copyright 2016 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
"""Utility module for dealing with Git timestamps."""
|
|
|
|
import datetime
|
|
|
|
|
|
def timestamp_offset_to_datetime(timestamp, offset):
|
|
"""Converts a timestamp + offset into a datetime.datetime.
|
|
|
|
Useful for dealing with the output of porcelain commands, which provide times
|
|
as timestamp and offset strings.
|
|
|
|
Args:
|
|
timestamp: An int UTC timestamp, or a string containing decimal digits.
|
|
offset: A str timezone offset. e.g., '-0800'.
|
|
|
|
Returns:
|
|
A tz-aware datetime.datetime for this timestamp.
|
|
"""
|
|
timestamp = int(timestamp)
|
|
tz = FixedOffsetTZ.from_offset_string(offset)
|
|
return datetime.datetime.fromtimestamp(timestamp, tz)
|
|
|
|
|
|
def datetime_string(dt):
|
|
"""Converts a tz-aware datetime.datetime into a string in git format."""
|
|
return dt.strftime('%Y-%m-%d %H:%M:%S %z')
|
|
|
|
|
|
# Adapted from: https://docs.python.org/2/library/datetime.html#tzinfo-objects
|
|
class FixedOffsetTZ(datetime.tzinfo):
|
|
def __init__(self, offset, name):
|
|
datetime.tzinfo.__init__(self)
|
|
self.__offset = offset
|
|
self.__name = name
|
|
|
|
def __repr__(self): # pragma: no cover
|
|
return '{}({!r}, {!r})'.format(
|
|
type(self).__name__, self.__offset, self.__name)
|
|
|
|
@classmethod
|
|
def from_offset_string(cls, offset):
|
|
try:
|
|
hours = int(offset[:-2])
|
|
minutes = int(offset[-2:])
|
|
except ValueError:
|
|
return cls(datetime.timedelta(0), 'UTC')
|
|
|
|
delta = datetime.timedelta(hours=hours, minutes=minutes)
|
|
return cls(delta, offset)
|
|
|
|
def utcoffset(self, dt):
|
|
return self.__offset
|
|
|
|
def tzname(self, dt):
|
|
return self.__name
|
|
|
|
def dst(self, dt):
|
|
return datetime.timedelta(0)
|