public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
@ 2019-08-14 10:21 Chiu, Chasel
  2019-08-14 11:14 ` Leif Lindholm
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chiu, Chasel @ 2019-08-14 10:21 UTC (permalink / raw)
  To: devel; +Cc: Bob Feng, Liming Gao, Leif Lindholm

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067

A script that can return UTC date and time in ascii
format which is convenient for patching build time
information in any binary.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
 BaseTools/Scripts/GetUtcDateTime.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/BaseTools/Scripts/GetUtcDateTime.py b/BaseTools/Scripts/GetUtcDateTime.py
new file mode 100644
index 0000000000..3cfb6ac2ae
--- /dev/null
+++ b/BaseTools/Scripts/GetUtcDateTime.py
@@ -0,0 +1,44 @@
+## @file
+#  Get current UTC date and time information and output as ascii code.
+#
+#  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+VersionNumber = '0.1'
+import sys
+import datetime
+import argparse
+
+def Main():
+    PARSER = argparse.ArgumentParser(
+        description='Retrieves UTC date and time information (output ordering: year, date, time) - Version ' + VersionNumber)
+    PARSER.add_argument('--year',
+                        action='store_true',
+                        help='Return UTC year of now. [Example output (2019): 39313032]')
+    PARSER.add_argument('--date',
+                        action='store_true',
+                        help='Return UTC date MMDD of now. [Example output (7th August): 37303830]')
+    PARSER.add_argument('--time',
+                        action='store_true',
+                        help='Return 24-hour-format UTC time HHMM of now. [Example output (14:25): 35323431]')
+
+    ARGS = PARSER.parse_args()
+    if len(sys.argv) == 1:
+        print ("ERROR: At least one argument is required!\n")
+        PARSER.print_help()
+
+    today = datetime.datetime.utcnow()
+    if ARGS.year:
+        ReversedNumber = str(today.year)[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
+    if ARGS.date:
+        ReversedNumber = str(today.strftime("%m%d"))[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
+    if ARGS.time:
+        ReversedNumber = str(today.strftime("%H%M"))[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
+
+if __name__ == '__main__':
+    Main()
-- 
2.13.3.windows.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
       [not found] <15BAC2DDA02D1FF8.28665@groups.io>
@ 2019-08-14 10:23 ` Chiu, Chasel
  0 siblings, 0 replies; 6+ messages in thread
From: Chiu, Chasel @ 2019-08-14 10:23 UTC (permalink / raw)
  To: devel@edk2.groups.io, Chiu, Chasel
  Cc: Feng, Bob C, Gao, Liming, Leif Lindholm


V2 re-wrote the script to use ArgumentParser and remove sys.exit().

Regards,
Chasel


> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Chiu, Chasel
> Sent: Wednesday, August 14, 2019 6:21 PM
> To: devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Leif Lindholm <leif.lindholm@linaro.org>
> Subject: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime
> script.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067
> 
> A script that can return UTC date and time in ascii format which is convenient
> for patching build time information in any binary.
> 
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
> ---
>  BaseTools/Scripts/GetUtcDateTime.py | 44
> ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/BaseTools/Scripts/GetUtcDateTime.py
> b/BaseTools/Scripts/GetUtcDateTime.py
> new file mode 100644
> index 0000000000..3cfb6ac2ae
> --- /dev/null
> +++ b/BaseTools/Scripts/GetUtcDateTime.py
> @@ -0,0 +1,44 @@
> +## @file
> +#  Get current UTC date and time information and output as ascii code.
> +#
> +#  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent #
> +
> +VersionNumber = '0.1'
> +import sys
> +import datetime
> +import argparse
> +
> +def Main():
> +    PARSER = argparse.ArgumentParser(
> +        description='Retrieves UTC date and time information (output ordering:
> year, date, time) - Version ' + VersionNumber)
> +    PARSER.add_argument('--year',
> +                        action='store_true',
> +                        help='Return UTC year of now. [Example output (2019):
> 39313032]')
> +    PARSER.add_argument('--date',
> +                        action='store_true',
> +                        help='Return UTC date MMDD of now. [Example output
> (7th August): 37303830]')
> +    PARSER.add_argument('--time',
> +                        action='store_true',
> +                        help='Return 24-hour-format UTC time HHMM of
> +now. [Example output (14:25): 35323431]')
> +
> +    ARGS = PARSER.parse_args()
> +    if len(sys.argv) == 1:
> +        print ("ERROR: At least one argument is required!\n")
> +        PARSER.print_help()
> +
> +    today = datetime.datetime.utcnow()
> +    if ARGS.year:
> +        ReversedNumber = str(today.year)[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
> +    if ARGS.date:
> +        ReversedNumber = str(today.strftime("%m%d"))[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
> +    if ARGS.time:
> +        ReversedNumber = str(today.strftime("%H%M"))[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in
> + ReversedNumber))
> +
> +if __name__ == '__main__':
> +    Main()
> --
> 2.13.3.windows.1
> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
  2019-08-14 10:21 [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script Chiu, Chasel
@ 2019-08-14 11:14 ` Leif Lindholm
  2019-08-14 11:50 ` [edk2-devel] " rebecca
  2019-08-15  1:36 ` Bob Feng
  2 siblings, 0 replies; 6+ messages in thread
From: Leif Lindholm @ 2019-08-14 11:14 UTC (permalink / raw)
  To: Chasel Chiu; +Cc: devel

On Wed, Aug 14, 2019 at 06:21:06PM +0800, Chasel Chiu wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067
> 
> A script that can return UTC date and time in ascii
> format which is convenient for patching build time
> information in any binary.
> 
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>

Yeah, this looks a lot better, thanks.
Acked-by: Leif Lindholm <leif.lindholm@linaro.org>

> ---
>  BaseTools/Scripts/GetUtcDateTime.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/BaseTools/Scripts/GetUtcDateTime.py b/BaseTools/Scripts/GetUtcDateTime.py
> new file mode 100644
> index 0000000000..3cfb6ac2ae
> --- /dev/null
> +++ b/BaseTools/Scripts/GetUtcDateTime.py
> @@ -0,0 +1,44 @@
> +## @file
> +#  Get current UTC date and time information and output as ascii code.
> +#
> +#  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +VersionNumber = '0.1'
> +import sys
> +import datetime
> +import argparse
> +
> +def Main():
> +    PARSER = argparse.ArgumentParser(
> +        description='Retrieves UTC date and time information (output ordering: year, date, time) - Version ' + VersionNumber)
> +    PARSER.add_argument('--year',
> +                        action='store_true',
> +                        help='Return UTC year of now. [Example output (2019): 39313032]')
> +    PARSER.add_argument('--date',
> +                        action='store_true',
> +                        help='Return UTC date MMDD of now. [Example output (7th August): 37303830]')
> +    PARSER.add_argument('--time',
> +                        action='store_true',
> +                        help='Return 24-hour-format UTC time HHMM of now. [Example output (14:25): 35323431]')
> +
> +    ARGS = PARSER.parse_args()
> +    if len(sys.argv) == 1:
> +        print ("ERROR: At least one argument is required!\n")
> +        PARSER.print_help()
> +
> +    today = datetime.datetime.utcnow()
> +    if ARGS.year:
> +        ReversedNumber = str(today.year)[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
> +    if ARGS.date:
> +        ReversedNumber = str(today.strftime("%m%d"))[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
> +    if ARGS.time:
> +        ReversedNumber = str(today.strftime("%H%M"))[::-1]
> +        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
> +
> +if __name__ == '__main__':
> +    Main()
> -- 
> 2.13.3.windows.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
  2019-08-14 10:21 [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script Chiu, Chasel
  2019-08-14 11:14 ` Leif Lindholm
@ 2019-08-14 11:50 ` rebecca
  2019-08-14 16:00   ` Chiu, Chasel
  2019-08-15  1:36 ` Bob Feng
  2 siblings, 1 reply; 6+ messages in thread
From: rebecca @ 2019-08-14 11:50 UTC (permalink / raw)
  To: devel, chasel.chiu; +Cc: Bob Feng, Liming Gao, Leif Lindholm

On 2019-08-14 04:21, Chiu, Chasel wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067
>
> A script that can return UTC date and time in ascii
> format which is convenient for patching build time
> information in any binary.


I know it's not a required tool to be run before committing, but could
you consider the following issues pylama reported, please?

BaseTools/Scripts/GetUtcDateTime.py:1:1: E266 too many leading '#' for
block comment [pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:10:1: E402 module level import not
at top of file [pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:11:1: E402 module level import not
at top of file [pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:12:1: E402 module level import not
at top of file [pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:14:1: E302 expected 2 blank lines,
found 1 [pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:29:14: E211 whitespace before '('
[pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:35:14: E211 whitespace before '('
[pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:38:14: E211 whitespace before '('
[pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:41:14: E211 whitespace before '('
[pycodestyle]
BaseTools/Scripts/GetUtcDateTime.py:43:1: E305 expected 2 blank lines
after class or function definition, found 1 [pycodestyle]

-- 
Rebecca Cran


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
  2019-08-14 11:50 ` [edk2-devel] " rebecca
@ 2019-08-14 16:00   ` Chiu, Chasel
  0 siblings, 0 replies; 6+ messages in thread
From: Chiu, Chasel @ 2019-08-14 16:00 UTC (permalink / raw)
  To: devel@edk2.groups.io, rebecca@bsdio.com
  Cc: Feng, Bob C, Gao, Liming, Leif Lindholm


Yes, as pylama currently not requirement yet we will evaluate this later.

Thanks!

Regards,
Chasel


> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> rebecca@bsdio.com
> Sent: Wednesday, August 14, 2019 7:51 PM
> To: devel@edk2.groups.io; Chiu, Chasel <chasel.chiu@intel.com>
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Leif Lindholm <leif.lindholm@linaro.org>
> Subject: Re: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime
> script.
> 
> On 2019-08-14 04:21, Chiu, Chasel wrote:
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067
> >
> > A script that can return UTC date and time in ascii format which is
> > convenient for patching build time information in any binary.
> 
> 
> I know it's not a required tool to be run before committing, but could
> you consider the following issues pylama reported, please?
> 
> BaseTools/Scripts/GetUtcDateTime.py:1:1: E266 too many leading '#' for
> block comment [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:10:1: E402 module level import not
> at top of file [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:11:1: E402 module level import not
> at top of file [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:12:1: E402 module level import not
> at top of file [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:14:1: E302 expected 2 blank lines,
> found 1 [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:29:14: E211 whitespace before '('
> [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:35:14: E211 whitespace before '('
> [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:38:14: E211 whitespace before '('
> [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:41:14: E211 whitespace before '('
> [pycodestyle]
> BaseTools/Scripts/GetUtcDateTime.py:43:1: E305 expected 2 blank lines
> after class or function definition, found 1 [pycodestyle]
> 
> --
> Rebecca Cran
> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.
  2019-08-14 10:21 [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script Chiu, Chasel
  2019-08-14 11:14 ` Leif Lindholm
  2019-08-14 11:50 ` [edk2-devel] " rebecca
@ 2019-08-15  1:36 ` Bob Feng
  2 siblings, 0 replies; 6+ messages in thread
From: Bob Feng @ 2019-08-15  1:36 UTC (permalink / raw)
  To: devel@edk2.groups.io, Chiu, Chasel; +Cc: Gao, Liming, Leif Lindholm

Reviewed-by: Bob Feng <bob.c.feng@intel.com>

-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Chiu, Chasel
Sent: Wednesday, August 14, 2019 6:21 PM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>
Subject: [edk2-devel] [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067

A script that can return UTC date and time in ascii format which is convenient for patching build time information in any binary.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
 BaseTools/Scripts/GetUtcDateTime.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/BaseTools/Scripts/GetUtcDateTime.py b/BaseTools/Scripts/GetUtcDateTime.py
new file mode 100644
index 0000000000..3cfb6ac2ae
--- /dev/null
+++ b/BaseTools/Scripts/GetUtcDateTime.py
@@ -0,0 +1,44 @@
+## @file
+#  Get current UTC date and time information and output as ascii code.
+#
+#  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> # #
+SPDX-License-Identifier: BSD-2-Clause-Patent #
+
+VersionNumber = '0.1'
+import sys
+import datetime
+import argparse
+
+def Main():
+    PARSER = argparse.ArgumentParser(
+        description='Retrieves UTC date and time information (output ordering: year, date, time) - Version ' + VersionNumber)
+    PARSER.add_argument('--year',
+                        action='store_true',
+                        help='Return UTC year of now. [Example output (2019): 39313032]')
+    PARSER.add_argument('--date',
+                        action='store_true',
+                        help='Return UTC date MMDD of now. [Example output (7th August): 37303830]')
+    PARSER.add_argument('--time',
+                        action='store_true',
+                        help='Return 24-hour-format UTC time HHMM of 
+now. [Example output (14:25): 35323431]')
+
+    ARGS = PARSER.parse_args()
+    if len(sys.argv) == 1:
+        print ("ERROR: At least one argument is required!\n")
+        PARSER.print_help()
+
+    today = datetime.datetime.utcnow()
+    if ARGS.year:
+        ReversedNumber = str(today.year)[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
+    if ARGS.date:
+        ReversedNumber = str(today.strftime("%m%d"))[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber))
+    if ARGS.time:
+        ReversedNumber = str(today.strftime("%H%M"))[::-1]
+        print (''.join(hex(ord(HexString))[2:] for HexString in 
+ ReversedNumber))
+
+if __name__ == '__main__':
+    Main()
--
2.13.3.windows.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-08-15  1:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-14 10:21 [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script Chiu, Chasel
2019-08-14 11:14 ` Leif Lindholm
2019-08-14 11:50 ` [edk2-devel] " rebecca
2019-08-14 16:00   ` Chiu, Chasel
2019-08-15  1:36 ` Bob Feng
     [not found] <15BAC2DDA02D1FF8.28665@groups.io>
2019-08-14 10:23 ` Chiu, Chasel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox