20.03.2017 Views

Raspberry Pi - Uživatelská příručka

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

KAPITOLA 11 Úvod do jazyka Python<br />

ale v takové podobě by byl mnohem hůře čitelný. Proměnná dict začíná otevírací složenou<br />

závorkou a končí ukončovací složenou závorkou na posledním řádku.<br />

Proměnnou hostitel nastavte podle plně kvalifikovaného doménového názvu (FQDN) serveru<br />

IRC, ke kterému se program bude připojovat. V této ukázce se používá server chat.freenode.<br />

net, ale chcete-li program přizpůsobit a zvolit jiný server, nastavte jeho doménový název na<br />

tomto místě. Proměnná port informuje program, na kterém síťovém portu je služba IRC spuštěna.<br />

Obvykle se jedná o port 6667. Z proměnné kanal jazyk Python pozná, ke kterému kanálu<br />

se má při sledování uživatelů připojit, zatímco proměnná intervaljmen určuje, jak dlouho bude<br />

program čekat do další aktualizace seznamu uživatelů. Tato hodnota se udává v sekundách.<br />

Nastavte druhou proměnnou typu dict, která bude uchovávat uživatelsky specifické proměnné.<br />

Přitom zadejte tyto řádky:<br />

uzivatel = {<br />

‚prezdivka‘ : ‚botnick‘,<br />

‚uzivatelskejmeno‘ : ‚botuser‘,<br />

‚nazevhostitele‘ : ‚localhost‘,<br />

‚nazevserveru‘ : ‚localhost‘,<br />

‚skutecnejmeno‘ : ‚<strong>Raspberry</strong> <strong>Pi</strong> Names Bot‘<br />

}<br />

Stejně jako u proměnné irc jsou všechny tyto proměnné uloženy v proměnné datového typu<br />

dict s názvem uzivatel, aby bylo zřejmé, do které části jednotlivé hodnoty patří. Proměnná<br />

prezdivka by měla být nastavena podle přezdívky IRC, kterou bude program používat. Pokud<br />

se k serveru IRC chcete zároveň připojit sami, nepoužívejte svou obvyklou přezdívku. Místo<br />

toho je vhodné připojit na konec jména řetězec -bot, aby bylo jasné, že se jedná o program,<br />

a nikoli o živou osobu. Stejně postupujte s proměnnou uzivatelskejmeno a do proměnné<br />

skutecnejmeno zadejte popisný text, aby bylo zřejmé, komu robot patří. U proměnných nazevhostitele<br />

a nazevserveru můžete ponechat výchozí hodnotu localhost nebo je můžete<br />

upravit tak, aby odpovídaly vaší internetové adrese.<br />

Modul socket vyžaduje, aby uživatel vytvořil objekt soketu. Tento objekt poskytuje zbývající<br />

části programu síťovou konektivitu. Objekt soketu vytvoříte pomocí tohoto řádku:<br />

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br />

Dále musíte program požádat, aby se pokusil připojit k serveru IRC, který je uveden v proměnných<br />

na začátku programu. Zadejte následující řádky:<br />

print ‚Probiha pripojeni k serveru %(hostitel)s:%(port)s...‘ % irc<br />

try:<br />

s.connect((irc[‚hostitel‘], irc[‚port‘]))<br />

except socket.error:<br />

print ‚Doslo k chybe pripojeni k serveru IRC ↩<br />

%(hostitel)s:%(port)s‘ % irc<br />

sys.exit(1)<br />

Příkazy try a except doplněné do tohoto kódu slouží ke zpracování chyb. Jestliže se systém<br />

nemůže připojit k serveru (například proto, že počítač <strong>Pi</strong> nemá internetovou konektivitu nebo<br />

167

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!