Initial import 🐍
This commit is contained in:
commit
652cf38ffe
5
README.md
Normal file
5
README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# mailboop
|
||||||
|
|
||||||
|
Check email (IMAP) and boop snoots (Rocketchat).
|
||||||
|
|
||||||
|
|
0
mailboop/__init__.py
Normal file
0
mailboop/__init__.py
Normal file
39
mailboop/__main__.py
Normal file
39
mailboop/__main__.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import datetime
|
||||||
|
import os
|
||||||
|
|
||||||
|
from imap_tools import MailBox
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Server is the address of the imap server
|
||||||
|
print("connecting to imap server")
|
||||||
|
mb = MailBox(os.getenv("MAIL_SERVER"), 993).login(
|
||||||
|
os.getenv("MAIL_USER"), os.getenv("MAIL_PASSWORD")
|
||||||
|
)
|
||||||
|
# Fetch all emails
|
||||||
|
# Don't mark them as seen
|
||||||
|
# Set bulk=True to read them all into memory in one fetch
|
||||||
|
# (as opposed to in streaming which is slower but uses less memory)
|
||||||
|
print("downloading mailz")
|
||||||
|
messages = mb.fetch(limit=10, mark_seen=False,
|
||||||
|
bulk=True)
|
||||||
|
|
||||||
|
dates = [m.date for m in messages]
|
||||||
|
|
||||||
|
median_date = sorted(dates)[len(dates) // 2]
|
||||||
|
median_delta = datetime.now() - median_date.replace(tzinfo=None)
|
||||||
|
|
||||||
|
oldest_date = sorted(dates)[0]
|
||||||
|
oldest_delta = datetime.now() - oldest_date.replace(tzinfo=None)
|
||||||
|
|
||||||
|
print(f"Median email: recevied {median_date}, {median_delta} ago")
|
||||||
|
|
||||||
|
print(f"Oldest email: recevied {oldest_date}, {oldest_delta} ago")
|
||||||
|
|
||||||
|
from pdb import set_trace; set_trace()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
4
requirements-dev.txt
Normal file
4
requirements-dev.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
-r requirements.txt
|
||||||
|
|
||||||
|
black==21.7b0
|
||||||
|
flake8==3.9.2
|
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
rocketchat-API==1.16.0
|
||||||
|
imap-tools==0.45.0
|
47
setup.py
Normal file
47
setup.py
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from setuptools import setup, find_packages
|
||||||
|
import os
|
||||||
|
|
||||||
|
here = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
README = open(os.path.join(here, 'README.md')).read()
|
||||||
|
|
||||||
|
setup(name='mailboop',
|
||||||
|
namespace_packages=['mailboop'],
|
||||||
|
version='0.0.1',
|
||||||
|
description='Check mail, boop snoots',
|
||||||
|
long_description=README,
|
||||||
|
#long_description=README + '\n\n' + CHANGES,
|
||||||
|
long_description_content_type='text/markdown',
|
||||||
|
author='3wc',
|
||||||
|
author_email='3wc.mailboop@doesthisthing.work',
|
||||||
|
# classifiers=[
|
||||||
|
# 'Programming Language :: Python',
|
||||||
|
# 'Programming Language :: Python :: 2.7',
|
||||||
|
# 'Programming Language :: Python :: 3.4',
|
||||||
|
# 'Programming Language :: Python :: 3.5',
|
||||||
|
# 'Programming Language :: Python :: 3.6',
|
||||||
|
# 'Programming Language :: Python :: 3.7',
|
||||||
|
# 'Programming Language :: Python :: 3.8',
|
||||||
|
# 'Programming Language :: Python :: Implementation :: CPython',
|
||||||
|
# 'Programming Language :: Python :: Implementation :: PyPy',
|
||||||
|
# 'Topic :: Terminals',
|
||||||
|
# 'Intended Audience :: Developers',
|
||||||
|
# 'Intended Audience :: System Administrators',
|
||||||
|
# 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
|
||||||
|
# ],
|
||||||
|
# url='https://github.com/Gandi/gandi.cli',
|
||||||
|
packages=find_packages(),
|
||||||
|
# cmdclass={'test': PyTest},
|
||||||
|
include_package_data=True,
|
||||||
|
zip_safe=False,
|
||||||
|
# install_requires=requires,
|
||||||
|
# tests_require=tests_require,
|
||||||
|
# extras_require=extras_require,
|
||||||
|
entry_points={
|
||||||
|
'console_scripts': [
|
||||||
|
'gandi = gandi.cli.__main__:main',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
)
|
Reference in New Issue
Block a user