From 3ac3ef9fe5d89b6385370f58a7e873f5a392a0de Mon Sep 17 00:00:00 2001 From: TechWiz-3 Date: Mon, 11 Jul 2022 14:13:51 +1000 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=93=A6=20NEW:=20currently=20working?= =?UTF-8?q?=20-m=20from=20get=5Fday=20import=20GetDay?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datetime-utils/__init__.py | 0 datetime-utils/wise_py_utils.egg-info/PKG-INFO | 10 ++++++++++ .../wise_py_utils.egg-info/SOURCES.txt | 6 ++++++ .../wise_py_utils.egg-info/dependency_links.txt | 1 + .../wise_py_utils.egg-info/top_level.txt | 7 +++++++ dist/wise_py_utils-0.0.1-py3-none-any.whl | Bin 0 -> 13402 bytes enter-typos/__init__.py | 0 processor-utils/__init__.py | 0 scan-file/__init__.py | 0 setup.py | 10 ++++++++++ 10 files changed, 34 insertions(+) create mode 100644 datetime-utils/__init__.py create mode 100644 datetime-utils/wise_py_utils.egg-info/PKG-INFO create mode 100644 datetime-utils/wise_py_utils.egg-info/SOURCES.txt create mode 100644 datetime-utils/wise_py_utils.egg-info/dependency_links.txt create mode 100644 datetime-utils/wise_py_utils.egg-info/top_level.txt create mode 100644 dist/wise_py_utils-0.0.1-py3-none-any.whl create mode 100644 enter-typos/__init__.py create mode 100644 processor-utils/__init__.py create mode 100644 scan-file/__init__.py create mode 100644 setup.py diff --git a/datetime-utils/__init__.py b/datetime-utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/datetime-utils/wise_py_utils.egg-info/PKG-INFO b/datetime-utils/wise_py_utils.egg-info/PKG-INFO new file mode 100644 index 0000000..c8ff229 --- /dev/null +++ b/datetime-utils/wise_py_utils.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: wise-py-utils +Version: 0.0.1 +Summary: Python utils created by Zac the Wise +Home-page: UNKNOWN +Author: UNKNOWN +Author-email: UNKNOWN +License: UNKNOWN +Description: UNKNOWN +Platform: UNKNOWN diff --git a/datetime-utils/wise_py_utils.egg-info/SOURCES.txt b/datetime-utils/wise_py_utils.egg-info/SOURCES.txt new file mode 100644 index 0000000..c538522 --- /dev/null +++ b/datetime-utils/wise_py_utils.egg-info/SOURCES.txt @@ -0,0 +1,6 @@ +README.md +setup.py +datetime-utils/wise_py_utils.egg-info/PKG-INFO +datetime-utils/wise_py_utils.egg-info/SOURCES.txt +datetime-utils/wise_py_utils.egg-info/dependency_links.txt +datetime-utils/wise_py_utils.egg-info/top_level.txt \ No newline at end of file diff --git a/datetime-utils/wise_py_utils.egg-info/dependency_links.txt b/datetime-utils/wise_py_utils.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/datetime-utils/wise_py_utils.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/datetime-utils/wise_py_utils.egg-info/top_level.txt b/datetime-utils/wise_py_utils.egg-info/top_level.txt new file mode 100644 index 0000000..1d2ac21 --- /dev/null +++ b/datetime-utils/wise_py_utils.egg-info/top_level.txt @@ -0,0 +1,7 @@ +_ +a +d +e +g +t +y diff --git a/dist/wise_py_utils-0.0.1-py3-none-any.whl b/dist/wise_py_utils-0.0.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..4515b62c786d2be0191af916a60a2113abd7a856 GIT binary patch literal 13402 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 XR6!aX;$Lrp|2>QU$~&9sUw8ip7%C`s literal 0 HcmV?d00001 diff --git a/enter-typos/__init__.py b/enter-typos/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/processor-utils/__init__.py b/processor-utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scan-file/__init__.py b/scan-file/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..b86b96e --- /dev/null +++ b/setup.py @@ -0,0 +1,10 @@ +from setuptools import setup + + +setup( + name='wise-py-utils', + version='0.0.1', + description='Python utils created by Zac the Wise', + package_dir={'': 'datetime-utils'}, + py_modules=('get_day') +) From 3e75dd85134f4d2f1b66c239660166505ef76793 Mon Sep 17 00:00:00 2001 From: TechWiz-3 Date: Mon, 11 Jul 2022 14:53:06 +1000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=94=96=20NOT=20WORKING?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/datetime-utils}/__init__.py | 0 .../lib/datetime-utils}/get_day.py | 0 .../lib/processor-utils}/__init__.py | 0 .../lib/processor-utils}/process.py | 0 .../wise_py_utils.egg-info/top_level.txt | 7 -- dist/wise_py_utils-0.0.1-py3-none-any.whl | Bin 13402 -> 13389 bytes enter-typos/README.md | 11 -- scan-file/README.md | 1 - setup.py | 8 +- .../datetime-utils}/README.md | 0 .../datetime-utils}/__init__.py | 0 src/datetime-utils/get_day.py | 63 ++++++++++ .../wise_py_utils.egg-info/PKG-INFO | 0 .../wise_py_utils.egg-info/SOURCES.txt | 0 .../dependency_links.txt | 0 .../wise_py_utils.egg-info/top_level.txt | 10 ++ .../processor-utils}/__init__.py | 0 src/processor-utils/process.py | 111 ++++++++++++++++++ {tests => src/tests}/README.md | 0 {tests => src/tests}/test_get_day.py | 0 src/wise_py_utils.egg-info/PKG-INFO | 10 ++ src/wise_py_utils.egg-info/SOURCES.txt | 10 ++ .../dependency_links.txt | 1 + src/wise_py_utils.egg-info/top_level.txt | 14 +++ .../test_get_day.cpython-39-pytest-7.1.2.pyc | Bin 1512 -> 0 bytes wise_py_utils.egg-info/PKG-INFO | 10 ++ wise_py_utils.egg-info/SOURCES.txt | 6 + wise_py_utils.egg-info/dependency_links.txt | 1 + wise_py_utils.egg-info/top_level.txt | 1 + 29 files changed, 242 insertions(+), 22 deletions(-) rename {datetime-utils => build/lib/datetime-utils}/__init__.py (100%) rename {datetime-utils => build/lib/datetime-utils}/get_day.py (100%) rename {enter-typos => build/lib/processor-utils}/__init__.py (100%) rename {processor-utils => build/lib/processor-utils}/process.py (100%) delete mode 100644 datetime-utils/wise_py_utils.egg-info/top_level.txt delete mode 100644 enter-typos/README.md delete mode 100644 scan-file/README.md rename {datetime-utils => src/datetime-utils}/README.md (100%) rename {processor-utils => src/datetime-utils}/__init__.py (100%) create mode 100644 src/datetime-utils/get_day.py rename {datetime-utils => src/datetime-utils}/wise_py_utils.egg-info/PKG-INFO (100%) rename {datetime-utils => src/datetime-utils}/wise_py_utils.egg-info/SOURCES.txt (100%) rename {datetime-utils => src/datetime-utils}/wise_py_utils.egg-info/dependency_links.txt (100%) create mode 100644 src/datetime-utils/wise_py_utils.egg-info/top_level.txt rename {scan-file => src/processor-utils}/__init__.py (100%) create mode 100644 src/processor-utils/process.py rename {tests => src/tests}/README.md (100%) rename {tests => src/tests}/test_get_day.py (100%) create mode 100644 src/wise_py_utils.egg-info/PKG-INFO create mode 100644 src/wise_py_utils.egg-info/SOURCES.txt create mode 100644 src/wise_py_utils.egg-info/dependency_links.txt create mode 100644 src/wise_py_utils.egg-info/top_level.txt delete mode 100644 tests/__pycache__/test_get_day.cpython-39-pytest-7.1.2.pyc create mode 100644 wise_py_utils.egg-info/PKG-INFO create mode 100644 wise_py_utils.egg-info/SOURCES.txt create mode 100644 wise_py_utils.egg-info/dependency_links.txt create mode 100644 wise_py_utils.egg-info/top_level.txt diff --git a/datetime-utils/__init__.py b/build/lib/datetime-utils/__init__.py similarity index 100% rename from datetime-utils/__init__.py rename to build/lib/datetime-utils/__init__.py diff --git a/datetime-utils/get_day.py b/build/lib/datetime-utils/get_day.py similarity index 100% rename from datetime-utils/get_day.py rename to build/lib/datetime-utils/get_day.py diff --git a/enter-typos/__init__.py b/build/lib/processor-utils/__init__.py similarity index 100% rename from enter-typos/__init__.py rename to build/lib/processor-utils/__init__.py diff --git a/processor-utils/process.py b/build/lib/processor-utils/process.py similarity index 100% rename from processor-utils/process.py rename to build/lib/processor-utils/process.py diff --git a/datetime-utils/wise_py_utils.egg-info/top_level.txt b/datetime-utils/wise_py_utils.egg-info/top_level.txt deleted file mode 100644 index 1d2ac21..0000000 --- a/datetime-utils/wise_py_utils.egg-info/top_level.txt +++ /dev/null @@ -1,7 +0,0 @@ -_ -a -d -e -g -t -y diff --git a/dist/wise_py_utils-0.0.1-py3-none-any.whl b/dist/wise_py_utils-0.0.1-py3-none-any.whl index 4515b62c786d2be0191af916a60a2113abd7a856..5ff5d96cea4934ee67132007ba80c00e0d389626 100644 GIT binary patch delta 458 zcmcbWaW;b|z?+#xgn@y9gTX>=BhM6lCJVL6i}cTes6vC;f);A8LngCbH(~}VVFY6B z$s6?*C)*kF$~|UcK-T*@MB!sxG9ysUA|O_QC^KQJZ#`>U)nvfHaN+J|6%&O8JhDp1 z5)LL!3@UucER?NPKege|OY5D}xc8Kc>-x`9e7Qs;szYSS3NGQbEsLzK>)*Sk_MUyw z6rL^9LyXUa|9|n6m22za%$@q|x{0Y5cgs#+q~C69?DbXrQsY6x-ed#wkh`<){+BIN zIg%~&X!-w4q0{wC8rSwK1y!f1Pv2YZ@-L6O@Y(AVS?3ZLEe+$fWRfyc|DxY6@ZK}{ zYDtOB{ZGFZulW-#^HSD6@cV~i!LuJX%6v|}8Yvz1#hOPa*J)bmWRX43Tb1NLSw2`( znDOsz>IbPU`CE47p9qZ;zk6d&jdlD{ZrNknWyQ+3m`as6I^MEp3o@kD2Y53wi7>+g zdGZ>g5K!nc83%!=Fk^pSlt7-m$=F8$B!Uv2z@UeLEsTDKlN${bCfk{au}w4r2?GGm CGN$_g delta 468 zcmX?`aVvu-z?+#xgn@y9gCSONBhM6lrdY+vi}cTes6vC;g0YIPLnc?=6cPX`;R9mr z$s6?*C)*kFYIi^PdgAra>#5gst%s|gFfkw-^g1NpKl>>oBLl-?AXWkCsSk2>_78Gt zJ!@FjWWd01;qGRZSqe`kE_9YVwjyDpgYJ$G0UMU6Ie9xg{4zJ@HS53qo$F5BHhjNz z!dyn*45iH?bIp!?y|afUyMOP|Ga;%kUL7j>kUfJ!Q+=^bm=e`v)@c9`(1uxQ;S|ky_5Vu_B58yCpN2Zba#IF^y@kQ#2vBHUnFi# z*z#OuJJ%%%Q5LZy{$I|ECLe5m#<4!fDn9(|?paAj;F&pBE*}CoeVjkq3#OgeWj3 SU| str: + day_number = self.day.weekday() + day_and_number = { + "Monday" : 0, + "Tuesday" : 1, + "Wednesday" : 2, + "Thursday" : 3, + "Friday" : 4, + "Saturday" : 5, + "Sunday" : 6 + } + for day, number in day_and_number.items(): + if day_number == number: + return day + + @classmethod + def get_weekday_from_number(cls, day_number: int) -> str: + day_and_number = { + "Monday" : 0, + "Tuesday" : 1, + "Wednesday" : 2, + "Thursday" : 3, + "Friday" : 4, + "Saturday" : 5, + "Sunday" : 6 + } + for day, number in day_and_number.items(): + if day_number == number: + return day + + +# Sample usage + +# Create the instance +# today = GetDay() +# or +# today = GetDay(datetime(2017, 2, 2)) + +# print the date you've passed into the class +# print(today.day) + +# get the day of the week in text - this will either return today +# or the day of the datetime object you passed in +# print(today.get_weekday()) + +# or you can get the day of the week based on the number +# like in the following scenario +# >>> import datetime +# >>> datetime.datetime.today() +# datetime.datetime(2012, 3, 23, 23, 24, 55, 173504) +# >>> number = datetime.datetime.today().weekday() +# >>> print(GetDay.get_weekday_from_number(number)) +# 'Wednesday' diff --git a/datetime-utils/wise_py_utils.egg-info/PKG-INFO b/src/datetime-utils/wise_py_utils.egg-info/PKG-INFO similarity index 100% rename from datetime-utils/wise_py_utils.egg-info/PKG-INFO rename to src/datetime-utils/wise_py_utils.egg-info/PKG-INFO diff --git a/datetime-utils/wise_py_utils.egg-info/SOURCES.txt b/src/datetime-utils/wise_py_utils.egg-info/SOURCES.txt similarity index 100% rename from datetime-utils/wise_py_utils.egg-info/SOURCES.txt rename to src/datetime-utils/wise_py_utils.egg-info/SOURCES.txt diff --git a/datetime-utils/wise_py_utils.egg-info/dependency_links.txt b/src/datetime-utils/wise_py_utils.egg-info/dependency_links.txt similarity index 100% rename from datetime-utils/wise_py_utils.egg-info/dependency_links.txt rename to src/datetime-utils/wise_py_utils.egg-info/dependency_links.txt diff --git a/src/datetime-utils/wise_py_utils.egg-info/top_level.txt b/src/datetime-utils/wise_py_utils.egg-info/top_level.txt new file mode 100644 index 0000000..342e9a1 --- /dev/null +++ b/src/datetime-utils/wise_py_utils.egg-info/top_level.txt @@ -0,0 +1,10 @@ +- +a +d +e +i +l +m +s +t +u diff --git a/scan-file/__init__.py b/src/processor-utils/__init__.py similarity index 100% rename from scan-file/__init__.py rename to src/processor-utils/__init__.py diff --git a/src/processor-utils/process.py b/src/processor-utils/process.py new file mode 100644 index 0000000..c83bdcb --- /dev/null +++ b/src/processor-utils/process.py @@ -0,0 +1,111 @@ +import psutil + + +class Process(): + + def __init__( + self, pid: int = None, + name: str = None + ): + self.pid = pid + self.name = name + + + def is_running(self) -> bool: + """ + Takes the name of a process and + returns True if it is running, + False if it isn't""" + if self.name: + target_process_name = self.name + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + return True + return False + # if the name isn't specified, use the pid instead + elif self.pid: + for process in psutil.process_iter(): + if self.pid == process.pid: + return True + return False + + + def get_pid(self) -> int: + """ + Uses self.name to get the pid + of the specified process""" + if not self.name: + print("Name not provided in instance") + else: + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + return process.pid + return "Process not found" + + + def get_name(self) -> str: + """ + Uses self.pid to get the name + of the specifried process""" + if not self.pid: + print("PID not provided in instance") + else: + for process in psutil.process_iter(): + if self.pid == process.pid: + return process.name() + return False + + + def get_run_time(self) -> str: + """ + Uses self.pid or self.name + to get the specified process + and returns it's runtime""" + if self.name: + from datetime import datetime + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + epoch_created_time = process.create_time() + dt_created_time = datetime.fromtimestamp(epoch_created_time) + time_elapsed = datetime.now() - dt_created_time + # https://stackoverflow.com/a/10981895 + hours, remainder = divmod(time_elapsed.seconds, 3600) + minutes, seconds = divmod(remainder, 60) + if time_elapsed.days != 0: + return ( + f"{time_elapsed.days} day/s" + f"{hours} hour/s" + f"{minutes}minute/s" + ) + else: + return f"{hours} hour/s {minutes} minute/s" + return "Process not found" + elif self.pid: + from datetime import datetime + for process in psutil.process_iter(): + if self.pid == process.pid: + epoch_created_time = process.create_time() + dt_created_time = datetime.fromtimestamp(epoch_created_time) + time_elapsed = datetime.now() - dt_created_time + # https://stackoverflow.com/a/10981895 + hours, remainder = divmod(time_elapsed.seconds, 3600) + minutes, seconds = divmod(remainder, 60) + if time_elapsed.days != 0: + return ( + f"{time_elapsed.days} day/s" + f"{hours} hour/s" + f"{minutes}minute/s" + ) + else: + return f"{hours} hour/s {minutes} minute/s" + return "Process not found" + + + + +a = Process(pid=10678) +# print(a.pid) +# print(a.name) + +print(a.get_name()) +print(a.get_run_time()) diff --git a/tests/README.md b/src/tests/README.md similarity index 100% rename from tests/README.md rename to src/tests/README.md diff --git a/tests/test_get_day.py b/src/tests/test_get_day.py similarity index 100% rename from tests/test_get_day.py rename to src/tests/test_get_day.py diff --git a/src/wise_py_utils.egg-info/PKG-INFO b/src/wise_py_utils.egg-info/PKG-INFO new file mode 100644 index 0000000..c8ff229 --- /dev/null +++ b/src/wise_py_utils.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: wise-py-utils +Version: 0.0.1 +Summary: Python utils created by Zac the Wise +Home-page: UNKNOWN +Author: UNKNOWN +Author-email: UNKNOWN +License: UNKNOWN +Description: UNKNOWN +Platform: UNKNOWN diff --git a/src/wise_py_utils.egg-info/SOURCES.txt b/src/wise_py_utils.egg-info/SOURCES.txt new file mode 100644 index 0000000..d9e4613 --- /dev/null +++ b/src/wise_py_utils.egg-info/SOURCES.txt @@ -0,0 +1,10 @@ +README.md +setup.py +src/datetime-utils/__init__.py +src/datetime-utils/get_day.py +src/processor-utils/__init__.py +src/processor-utils/process.py +src/wise_py_utils.egg-info/PKG-INFO +src/wise_py_utils.egg-info/SOURCES.txt +src/wise_py_utils.egg-info/dependency_links.txt +src/wise_py_utils.egg-info/top_level.txt \ No newline at end of file diff --git a/src/wise_py_utils.egg-info/dependency_links.txt b/src/wise_py_utils.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/wise_py_utils.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/src/wise_py_utils.egg-info/top_level.txt b/src/wise_py_utils.egg-info/top_level.txt new file mode 100644 index 0000000..4a957e8 --- /dev/null +++ b/src/wise_py_utils.egg-info/top_level.txt @@ -0,0 +1,14 @@ + +_ +a +d +datetime-utils +e +g +i +l +m +s +t +u +y diff --git a/tests/__pycache__/test_get_day.cpython-39-pytest-7.1.2.pyc b/tests/__pycache__/test_get_day.cpython-39-pytest-7.1.2.pyc deleted file mode 100644 index 09865dbaf449b2cb7e2eb2931b607a5d715d27f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1512 zcmZ`(OK;mo5Z+xrB|ie&K++aH7zGNLhf0?1JPO1`in{2{2>Q4X1qj+)*|JGd*j?3? zOI_;zj2x_6^Dlbnui&+(9DB{F-z=qoDG(AfJCA+L&U~}!#zvRnt9Sl7`xoOsq_jU5 z$_tQ=!7`TdoWxcS$^obR=R2wi@i{ zb~DvlDr0?5B2C68kym$LOlC%ElccKNO3u?fPn4Xf^Rk$vO4gl3r$b4Wdh=_$!KfU6 zt5m7#on%<5A~lKpb&{v!)W8#Y@ftQvnzQ!nmU7tk95kM0gU4;<>1(F8aId!~{htu8 z?!Uz87iu(?{S&FLO*!emROOXCH@c6=FUxULp*~$gTb^7g%D()=pKB+KqGKqb+H_s

01{wp7t@Cmk+ zZ}AbB5VJc~@IQQT!U)I#d2`odrE{vNm*U{Zsnp1fBH#iuQv%AfNOyl*3cK&H)0hCF zrRiWb3&PU0AL+fQJMU4tZ=}4&#>r5XMKYciXHs?Nd$cRChDj?_4uDYQ(CI!QaG%(L zq8?I|`WWi7*ac_@w+~u?9UMm5nh&F{T^>LBz^RI=r|4a&*9nPd(@}0lV_o}s33TiF zqeNep(>${&y#uugTN}cU+sf0}9@a!W*l)YOY+Mc0 z2M6zIM;7W0+s6L&rxvasxEkGT1>8?4!p%BdT~9rv8o> zU}>|ds{Lk3?dX|S)E2dmbm66l1B!#tLiMt(qUhLG%+#pL1|B{y%50j;ujozEl>X27 JI{hMa{sU_Mokjov diff --git a/wise_py_utils.egg-info/PKG-INFO b/wise_py_utils.egg-info/PKG-INFO new file mode 100644 index 0000000..c8ff229 --- /dev/null +++ b/wise_py_utils.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: wise-py-utils +Version: 0.0.1 +Summary: Python utils created by Zac the Wise +Home-page: UNKNOWN +Author: UNKNOWN +Author-email: UNKNOWN +License: UNKNOWN +Description: UNKNOWN +Platform: UNKNOWN diff --git a/wise_py_utils.egg-info/SOURCES.txt b/wise_py_utils.egg-info/SOURCES.txt new file mode 100644 index 0000000..c6f5bd5 --- /dev/null +++ b/wise_py_utils.egg-info/SOURCES.txt @@ -0,0 +1,6 @@ +README.md +setup.py +wise_py_utils.egg-info/PKG-INFO +wise_py_utils.egg-info/SOURCES.txt +wise_py_utils.egg-info/dependency_links.txt +wise_py_utils.egg-info/top_level.txt \ No newline at end of file diff --git a/wise_py_utils.egg-info/dependency_links.txt b/wise_py_utils.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/wise_py_utils.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/wise_py_utils.egg-info/top_level.txt b/wise_py_utils.egg-info/top_level.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/wise_py_utils.egg-info/top_level.txt @@ -0,0 +1 @@ + From 803180143b9dcc31b44e175402ab5270c2155f98 Mon Sep 17 00:00:00 2001 From: TechWiz-3 Date: Mon, 11 Jul 2022 14:59:08 +1000 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=91=8C=20IMPROVE:=20modules=20now=20w?= =?UTF-8?q?orking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/datetimeutils}/__init__.py | 0 .../lib/datetimeutils}/get_day.py | 0 .../lib/processorutils}/__init__.py | 0 .../lib/processorutils}/process.py | 0 dist/wise_py_utils-0.0.1-py3-none-any.whl | Bin 13389 -> 17227 bytes setup.py | 6 +- .../README.md | 0 src/datetimeutils/__init__.py | 0 src/datetimeutils/get_day.py | 63 ++++++++++ .../wise_py_utils.egg-info/PKG-INFO | 0 .../wise_py_utils.egg-info/SOURCES.txt | 0 .../dependency_links.txt | 0 .../wise_py_utils.egg-info/top_level.txt | 0 src/processorutils/__init__.py | 0 src/processorutils/process.py | 111 ++++++++++++++++++ src/wise_py_utils.egg-info/SOURCES.txt | 8 +- src/wise_py_utils.egg-info/top_level.txt | 16 +-- 17 files changed, 185 insertions(+), 19 deletions(-) rename {src/datetime-utils => build/lib/datetimeutils}/__init__.py (100%) rename {src/datetime-utils => build/lib/datetimeutils}/get_day.py (100%) rename {src/processor-utils => build/lib/processorutils}/__init__.py (100%) rename {src/processor-utils => build/lib/processorutils}/process.py (100%) rename src/{datetime-utils => datetimeutils}/README.md (100%) create mode 100644 src/datetimeutils/__init__.py create mode 100644 src/datetimeutils/get_day.py rename src/{datetime-utils => datetimeutils}/wise_py_utils.egg-info/PKG-INFO (100%) rename src/{datetime-utils => datetimeutils}/wise_py_utils.egg-info/SOURCES.txt (100%) rename src/{datetime-utils => datetimeutils}/wise_py_utils.egg-info/dependency_links.txt (100%) rename src/{datetime-utils => datetimeutils}/wise_py_utils.egg-info/top_level.txt (100%) create mode 100644 src/processorutils/__init__.py create mode 100644 src/processorutils/process.py diff --git a/src/datetime-utils/__init__.py b/build/lib/datetimeutils/__init__.py similarity index 100% rename from src/datetime-utils/__init__.py rename to build/lib/datetimeutils/__init__.py diff --git a/src/datetime-utils/get_day.py b/build/lib/datetimeutils/get_day.py similarity index 100% rename from src/datetime-utils/get_day.py rename to build/lib/datetimeutils/get_day.py diff --git a/src/processor-utils/__init__.py b/build/lib/processorutils/__init__.py similarity index 100% rename from src/processor-utils/__init__.py rename to build/lib/processorutils/__init__.py diff --git a/src/processor-utils/process.py b/build/lib/processorutils/process.py similarity index 100% rename from src/processor-utils/process.py rename to build/lib/processorutils/process.py diff --git a/dist/wise_py_utils-0.0.1-py3-none-any.whl b/dist/wise_py_utils-0.0.1-py3-none-any.whl index 5ff5d96cea4934ee67132007ba80c00e0d389626..cf1fdd5cb0d019ede30de4b6ca8eccf76b911eac 100644 GIT binary patch delta 4424 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 delta 580 zcmX@z#&|Y^C%~JTMTCKYfrG(9Z8ICs6n!QOwaIg=&w{9Io7qAZYOg~kvt2i02C88M zVr_=Wf=&vPEo^z^A2Tr^>wX=g@G&l#5vXVp5UW7c={vL4x1P1FYBFG8xNvu~iiyGk z9$BSh2?vuV1{FSJ7RuJDpW1NfrS;Bf+@(r>pl_WCM*sqvs;Z?b`T$lY0Y z|I3!C9Lbh>wETaj(CPXmjcfarf~wQhr|+$H`IpCC`0VwGtaFKrmWJ_KGD#V!f6;Fj zc<&i}wWP%6{-ol!&vdEt2txEEr zEFY{X%=q^<^@G%w{4KlkPlU#a-@P%X#yb8ex9lHGDE5%1}Fo< z$}kl`dP!rd0XSM(odm%OQDY3Da!DhTAuRrMP#uLHeF#lk82uoc^qu+mSQ%IumI32; Iq7g^|01^MWjsO4v diff --git a/setup.py b/setup.py index 2ddbdb9..0507f36 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,11 @@ name='wise-py-utils', version='0.0.1', description='Python utils created by Zac the Wise', - package_dir={'get_day': 'src/datetime-utils',}, + packages=find_packages( + where='src', + ), + package_dir={"": "src"} + #package_dir={'get_day': 'src/datetime-utils',}, # packages=find_packages(where="src") #py_modules=('datetimeutils'), #packages=['datetime-utils'] diff --git a/src/datetime-utils/README.md b/src/datetimeutils/README.md similarity index 100% rename from src/datetime-utils/README.md rename to src/datetimeutils/README.md diff --git a/src/datetimeutils/__init__.py b/src/datetimeutils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/datetimeutils/get_day.py b/src/datetimeutils/get_day.py new file mode 100644 index 0000000..ec855e6 --- /dev/null +++ b/src/datetimeutils/get_day.py @@ -0,0 +1,63 @@ +from datetime import datetime + +class GetDay(): + + def __init__(self, datetime_class=None): + if datetime_class: + self.day = datetime_class + else: + self.day = datetime.now() + + def get_weekday(self) -> str: + day_number = self.day.weekday() + day_and_number = { + "Monday" : 0, + "Tuesday" : 1, + "Wednesday" : 2, + "Thursday" : 3, + "Friday" : 4, + "Saturday" : 5, + "Sunday" : 6 + } + for day, number in day_and_number.items(): + if day_number == number: + return day + + @classmethod + def get_weekday_from_number(cls, day_number: int) -> str: + day_and_number = { + "Monday" : 0, + "Tuesday" : 1, + "Wednesday" : 2, + "Thursday" : 3, + "Friday" : 4, + "Saturday" : 5, + "Sunday" : 6 + } + for day, number in day_and_number.items(): + if day_number == number: + return day + + +# Sample usage + +# Create the instance +# today = GetDay() +# or +# today = GetDay(datetime(2017, 2, 2)) + +# print the date you've passed into the class +# print(today.day) + +# get the day of the week in text - this will either return today +# or the day of the datetime object you passed in +# print(today.get_weekday()) + +# or you can get the day of the week based on the number +# like in the following scenario +# >>> import datetime +# >>> datetime.datetime.today() +# datetime.datetime(2012, 3, 23, 23, 24, 55, 173504) +# >>> number = datetime.datetime.today().weekday() +# >>> print(GetDay.get_weekday_from_number(number)) +# 'Wednesday' diff --git a/src/datetime-utils/wise_py_utils.egg-info/PKG-INFO b/src/datetimeutils/wise_py_utils.egg-info/PKG-INFO similarity index 100% rename from src/datetime-utils/wise_py_utils.egg-info/PKG-INFO rename to src/datetimeutils/wise_py_utils.egg-info/PKG-INFO diff --git a/src/datetime-utils/wise_py_utils.egg-info/SOURCES.txt b/src/datetimeutils/wise_py_utils.egg-info/SOURCES.txt similarity index 100% rename from src/datetime-utils/wise_py_utils.egg-info/SOURCES.txt rename to src/datetimeutils/wise_py_utils.egg-info/SOURCES.txt diff --git a/src/datetime-utils/wise_py_utils.egg-info/dependency_links.txt b/src/datetimeutils/wise_py_utils.egg-info/dependency_links.txt similarity index 100% rename from src/datetime-utils/wise_py_utils.egg-info/dependency_links.txt rename to src/datetimeutils/wise_py_utils.egg-info/dependency_links.txt diff --git a/src/datetime-utils/wise_py_utils.egg-info/top_level.txt b/src/datetimeutils/wise_py_utils.egg-info/top_level.txt similarity index 100% rename from src/datetime-utils/wise_py_utils.egg-info/top_level.txt rename to src/datetimeutils/wise_py_utils.egg-info/top_level.txt diff --git a/src/processorutils/__init__.py b/src/processorutils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/processorutils/process.py b/src/processorutils/process.py new file mode 100644 index 0000000..c83bdcb --- /dev/null +++ b/src/processorutils/process.py @@ -0,0 +1,111 @@ +import psutil + + +class Process(): + + def __init__( + self, pid: int = None, + name: str = None + ): + self.pid = pid + self.name = name + + + def is_running(self) -> bool: + """ + Takes the name of a process and + returns True if it is running, + False if it isn't""" + if self.name: + target_process_name = self.name + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + return True + return False + # if the name isn't specified, use the pid instead + elif self.pid: + for process in psutil.process_iter(): + if self.pid == process.pid: + return True + return False + + + def get_pid(self) -> int: + """ + Uses self.name to get the pid + of the specified process""" + if not self.name: + print("Name not provided in instance") + else: + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + return process.pid + return "Process not found" + + + def get_name(self) -> str: + """ + Uses self.pid to get the name + of the specifried process""" + if not self.pid: + print("PID not provided in instance") + else: + for process in psutil.process_iter(): + if self.pid == process.pid: + return process.name() + return False + + + def get_run_time(self) -> str: + """ + Uses self.pid or self.name + to get the specified process + and returns it's runtime""" + if self.name: + from datetime import datetime + for process in psutil.process_iter(): + if self.name.lower() == process.name().lower(): + epoch_created_time = process.create_time() + dt_created_time = datetime.fromtimestamp(epoch_created_time) + time_elapsed = datetime.now() - dt_created_time + # https://stackoverflow.com/a/10981895 + hours, remainder = divmod(time_elapsed.seconds, 3600) + minutes, seconds = divmod(remainder, 60) + if time_elapsed.days != 0: + return ( + f"{time_elapsed.days} day/s" + f"{hours} hour/s" + f"{minutes}minute/s" + ) + else: + return f"{hours} hour/s {minutes} minute/s" + return "Process not found" + elif self.pid: + from datetime import datetime + for process in psutil.process_iter(): + if self.pid == process.pid: + epoch_created_time = process.create_time() + dt_created_time = datetime.fromtimestamp(epoch_created_time) + time_elapsed = datetime.now() - dt_created_time + # https://stackoverflow.com/a/10981895 + hours, remainder = divmod(time_elapsed.seconds, 3600) + minutes, seconds = divmod(remainder, 60) + if time_elapsed.days != 0: + return ( + f"{time_elapsed.days} day/s" + f"{hours} hour/s" + f"{minutes}minute/s" + ) + else: + return f"{hours} hour/s {minutes} minute/s" + return "Process not found" + + + + +a = Process(pid=10678) +# print(a.pid) +# print(a.name) + +print(a.get_name()) +print(a.get_run_time()) diff --git a/src/wise_py_utils.egg-info/SOURCES.txt b/src/wise_py_utils.egg-info/SOURCES.txt index d9e4613..86f7d46 100644 --- a/src/wise_py_utils.egg-info/SOURCES.txt +++ b/src/wise_py_utils.egg-info/SOURCES.txt @@ -1,9 +1,9 @@ README.md setup.py -src/datetime-utils/__init__.py -src/datetime-utils/get_day.py -src/processor-utils/__init__.py -src/processor-utils/process.py +src/datetimeutils/__init__.py +src/datetimeutils/get_day.py +src/processorutils/__init__.py +src/processorutils/process.py src/wise_py_utils.egg-info/PKG-INFO src/wise_py_utils.egg-info/SOURCES.txt src/wise_py_utils.egg-info/dependency_links.txt diff --git a/src/wise_py_utils.egg-info/top_level.txt b/src/wise_py_utils.egg-info/top_level.txt index 4a957e8..0dd20cc 100644 --- a/src/wise_py_utils.egg-info/top_level.txt +++ b/src/wise_py_utils.egg-info/top_level.txt @@ -1,14 +1,2 @@ - -_ -a -d -datetime-utils -e -g -i -l -m -s -t -u -y +datetimeutils +processorutils