Уведомления о рычании от веб-сервера

Другой C#

var l="a partridge in a pear tree.|two turtle doves, and|three french hens,|four calling birds,|five gold rings,|six geese a-laying,|seven swans a-swimming,|eight maids a-milking,|nine ladies dancing,|ten lords a-leaping,|eleven pipers piping,|twelve drummers drumming,".Split('|');

for (int i = 1; i < 13; i++)
    Console.Write(
        "On the {0}{2} day of christmas\rmy true love gave to me \r{1}\r\r", 
            i, 
            string.Join("\r", l.Take(i).Reverse().ToArray()), 
            (i==1?"st":i==2?"nd":i==3?"rd":"th"));

Влез в долги из предыдущих ответов (эй, повторное использование кода) при добавлении дополнительных сбережений.

481 символ, как только Вы вынимаете ненужный пробел:

var l="a partridge in a pear tree.|two turtle doves, and|three french hens,|four calling birds,|five gold rings,|six geese a-laying,|seven swans a-swimming,|eight maids a-milking,|nine ladies dancing,|ten lords a-leaping,|eleven pipers piping,|twelve drummers drumming,".Split('|');for(int i=1;i<13;i++)Console.Write("On the {0}{2} day of christmas, my true love gave to me \r{1}\r\r",i,String.Join("\r",l.Take(i).Reverse().ToArray()),(i==1?"st":i==2?"nd":i==3?"rd":"th")); 
5
задан kim3er 10 July 2009 в 14:13
поделиться

1 ответ

Существуют привязки GNTP (Growl Network Transport Protocol) для разных языков, список привязок можно найти здесь - они позволяют отправлять уведомления от, скажем, PHP-скрипта.

Я бы не стал доверять UDP-системе Growl напрямую, а скорее написал бы сервер, который принимает и хранит уведомления (возможно, в виде крошечного веб-приложения), и локальный скрипт, который обычно захватывает любые новые сообщения через HTTP и рычит на них. Совсем не сложный, будет более надежным, чем UDP, и может ставить сообщения в очередь, когда ваша машина Growl'ing выключена или недоступна. Реализация

не займет много времени. По сути, server.php в псевдо-PHP (который может использовать Net_Growl ):

<?php
if($_GET['action'] == "store"){
    $title = $_POST['title'];
    $message = $_POST['message'];
    $password = sha1($_POST['password']);
    if($password == "..."){
        store_in_database(sanitise($title), sanitise($message);
    }
} else {
    print(json_encode(get_notifications_from_database()));
    mark_notifications_as_read();
}
?>

client.py в псевдо- Python (который может использовать gntp ):

while 1:
    time.sleep(60):
    data = urllib.urlopen("http://myserver.com/server.php?action=get&password=blah").read()
    for line in data:
        notif = json.decode(line)
        growl.alert(notif['title'], notif['message'])
4
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: