Inscription de tâche ou notification en Python dans Outlook (à partir de VIM)

Pour ceux qui ont un proxy interne serré et ne peuvent utiliser qu'Outlook

La fonction de tâche d'Outlook est incroyablement incroyable

--Todoixx, Wundexxx-Avant de dire, pouvez-vous utiliser Outlook?

Profitez de la légèreté de Python

――Si vous créez une source avec Python, vous pouvez coopérer de différentes manières et vous êtes libre en fonction de vos idées --Peut également être utilisé comme notification

Vimmer?

Dans cet exemple, Vim est utilisé comme interface pour gérer les tâches.

win32com.client --Préparez win32com.client pour faire fonctionner Outlook --Dans l'environnement Anaconda, il est inclus par défaut, donc c'est ok la mort

La source

Outlook_alert_vim.py


# coding: utf-8
import pytz
import sys
from datetime import datetime, timedelta
import win32com.client as wcl


def win_time_norm(d):
    '''
Convertir au format d'heure Outlook
    :param d: Datetime
    :return: Type pytx Datetime
    '''
    date = pytz.utc.localize(d)
    return date


def post_outlook_task(task_list):
    '''
Enregistrer les tâches dans Outlook
・ Win32com.Préparer le client
・ Anaconda est inclus par défaut
    out_task.DueDate = s_win_day
・ Si vous définissez la date sur aujourd'hui, la notification peut être utilisée à la place.
・ Si la date limite est fixée, e_win_Inscription jour
・ Edday(5 jours)で5 jours後アラートにしてる
    :param task_list:Soumettez la première ligne de texte dans VIM
    '''
    stday = datetime.today()
    edday = datetime.today() + timedelta(days=5)
    s_win_day = win_time_norm(stday)
    e_win_day = win_time_norm(edday)

    outlook = wcl.Dispatch("Outlook.Application")
    for task in task_list:
        out_task = outlook.CreateItem(3)
        out_task.Subject = task[0]
        out_task.Body = task[1]
        out_task.StartDate = s_win_day
        out_task.DueDate = s_win_day
        # out_task.DueDate = e_win_day
        out_task.ReminderSet = True
        out_task.Save()


def main(args):
    filename = str(args[0])
    with open(filename, mode="r", encoding='utf-8') as fh:
        data = fh.readlines()

    data = [t.strip().strip('\n') for t in data if t]
    #Je peux m'inscrire en continu(Je n'ai pas besoin de cet exemple)
    task_list = []
    task_list.append((data[0], "\n".join(data)))
    # task_list.append(("test subject","body row1 \n body row2"))

    post_outlook_task(task_list)


if __name__ == "__main__":
    main(sys.argv[1:])

Spécifiez vous-même l'emplacement de s: python_file.

_vimrc


"outlook_task_vim"{{{
function! s:outlook_posttask_vim()"
    let s:python_file = "D:/Outlook_alert_vim.py"
    let s:file = tempname()
    silent execute ":write " . s:file
    silent execute "!python " . s:python_file . ' ' . s:file
    call delete(s:file)
    unlet! s:file
    unlet! s:py_script
endfunction augroup END"
command! -nargs=0 PostOutlookTask call s:outlook_posttask_vim()
"}}}

Recommended Posts

Inscription de tâche ou notification en Python dans Outlook (à partir de VIM)
Python depuis ou import
OCR à partir de PDF en Python
Lire les e-mails Outlook avec Python
Obtenir des données de Quandl en Python
Méthode de notification d'erreur lors de l'appel de python à partir de l'interface graphique Windows ou de winsound.
Formater automatiquement le code Python avec Vim
Extraire du texte d'images avec Python
Ecrire le plugin vim en Python
J'ai essayé la notification de ligne en Python
Extraire des chaînes de fichiers avec Python
Obtenez des taux de change à partir des taux de change ouverts en Python
Relancé de "pas d'accès Internet" en Python
Empêcher le double lancement de cron en Python
Rendement Python express en JavaScript ou Java
Prenez la somme logique de List en Python (fonction zip)
Notification push du serveur Python vers Android
Référence du fichier INI en Python ou Ruby
Télécharger des images à partir de la liste d'URL en Python
Obtenez le niveau de la batterie de SwitchBot avec Python
Ecrire un plugin Vim simple en Python 3
Générer une classe à partir d'une chaîne en Python
Utilisation d'opérateurs non logiques de ou en python
Générer un langage C à partir d'une expression S avec Python
Convertir de Markdown en HTML en Python
Obtenez la probabilité de précipitation de XML avec Python
Exécution de tâches parallèles à l'aide de concurrent.futures en Python
Obtenir l'historique des métriques de MLflow en Python
Créez un environnement de test Vim + Python en 1 minute
[Python] Conversion de DICOM en PNG ou CSV
Du dessin de fichier au graphique en Python. Élémentaire élémentaire
Créer une nouvelle tâche Todoist à partir d'un script Python
Utilisez Python dans votre environnement depuis Win Automation
Utiliser les raccourcis clavier emacs ou vim dans le notebook IPython
Faisons quelques exemples de traitement des notifications en Python
Diviser les fichiers lors de l'écriture du plugin vim en python
Appel de scripts Python à partir de Python intégré en C ++ / C ++
Charger des images à partir d'une URL à l'aide de Pillow dans Python 3
Sélectionnez au hasard des éléments dans la liste (tableau) en python
Obtenez uniquement des articles de pages Web en Python