Dziêkujê za odwiedziny. Jak wy¿ej napisano, nazywam siê tak a tak i mieszkam tu a tu wraz z rodzin± tak± a tak±. Dziêkujê równie¿ mojemu dostawcy za wywieszenie moich rzeczy do wgl±du.

Spis rzeczy

Iak to rozvi±za»: brak mieistza na poètê!

Vprovadzenie

Tzo zrobi», kiedy poiemno¶» skøinki poètovei iest na vyèerpaniu? Mo¾e siê tak zdaøi», kiedy pøechovuiemy na¹e listy v katalogach na sietievych, u¾ivai±tz protoko³u IMAP. Otøimuiemy vtedy viadomo¶» od administratora:

Poiemno¶» skøinki poètovei iest na vyèerpaniu — prosimy vybra» listy ze skøinek pøi pomotzi programmu poètovego

Rozvi±zanie to iest mo¾e dobre z punktu vidzenia administratora, ale nie z na¹ego — z dnia na dieò tratimy v¹itkie listy, te potøebne i te niepotøebne razem. Mo¾na oèivi¶tie v¹itkie te listy zgra» na pamiê» massov± i nosi» ie pøi sobie, ale iest do do¶» nievygodne.

Na ¹èê¶tie do zagadnienia mo¾emy podei¶» bardiei vybiórèo, method± statystyèn±. Pøeva¾nie boviem bardiei op³atza siê usuva» du¾e listy ni¾ ma³e, ponieva¾ du¾e listy zavierai± naièê¶tiei viele informacii niepotøebnych — lub na odvrót, na tyle potøebnych, ¾e varto ie vyodrêbni» iako osobny dokument.

I tu nasuva siê pytanie: v iaki sposób mo¾emy odnale¼» v¹itkie du¾e listy? Intuicja podpoviada, ¾e du¾e listy nai³atzniei znale¼» v du¾ich katalogach; nale¾i zatem o¹atzova» ³±èn± vielko¶» plikóv v po¹èególnych katalogach i spravdi» zavarto¶» tych z nich, które zavierai± naiviêtzei danych. K³opot polega tu po pierv¹e na tym, ¾e nie znamy rozmiaru katalogu, v ¹èególno¶ti odpoviadai±tzego pøegródtze vevn±tø skøinki poètovei; u¾itek poètovy vpravdie povie nam, iaki iest u niego rozmiar danych pøegródki, ale èêsto ma siê to niiak do mieistza zaimovanego v skøintze sietievei, a to z tei prostei pøièiny, ¾e nie v¹itkie viadomo¶ti ze skøinki s± pøechovyvane mieistzevo; te które nie s± pøechovyvane mieistzevo nie vp³yvai± na mieistzevy rozmiar pøegródki podavany pøez u¾itek poètovy (u¾itkovnitzi vymiany Microsoft mai± pod tym vzglêdem lepiei).

Moie rozvi±zanie

(Pyton)

Na ¹èê¶tie na¹ gospodaø daie dostêp do v³asnych plikóv pøez FTP. Oèivi¶tie mo¾emy otvoøi» okno FTP v pøegl±dartze; v ten sposób mo¾emy iednak obeiøe» tylko po¹èególne pliki i katalogi; v dal¹im ti±gu nie mamy naøêdia do podsummovania zavarto¶ti. Iest vpravdie mo¾livo¶» spravdzenia rozmiaru ka¾dego pliku z osobna, ale ³atviei iest to zrobi» iednym ruchem.

V tym tzelu otvieramy okno FTP.EXE, ³±èimy siê z FTP.2A.PL i podaiemy poletzenie

ls -ilR 2a.txt

Po vykonaniu tego poletzenia otøimuiemy dok³adny spis plikóv v pliku 2a.txt v bie¾±tzim katalogu; iest on vpravdie bezu¾iteèny dla è³ovieka, ale mo¾e siê pøida» iako dane do dal¹ego opratzevania.

Kod programmu sk³ada siê pogl±dovo z nastêpui±tzich elementóv logiènych:

Vèityvanie spisu tre¶ti vymaga pøipoø±dkovania ka¾dego elementu do katalogu nadøêdnego, tzo vymaga koøistania z do tei pory zbudovanei èê¶ti modelu. Na ¹èê¶tie posta» spisu zapevnia ¾e naipierv poiavia siê katalog, a potem iego zavarto¶».

©èegó³y vdro¾enia

Spis

V miarê pøetvaøania opisu plikóv generuie siê iednoèe¶nie v postati HTML v osobnym oknie. Pozvala to na ¶ledzenie postêpu pratzi oraz zapobiega poiavianiu siê ostøe¾eò o zbieg³ym kodie. Kod vèitui±tzi posta» pliku iest do¶» vra¾liv i pøi b³êdnych danych mo¾e siê zapêtli» bez vypisyvania; v takim razie nale¾i pøerva» dia³anie skryptu.

Katalog

Katalog plikóv zaviera zbiór cech plikóv. Cech± kluèov± pliku iest numer vêz³a podavany v spisie — za vyi±tkiem katalogu poè±tkovego, dla którego pøiimuiemy varto¶» 0. Do pøechovania katalogu plikóv s³u¾i s³ovnik zbudovany na nastêpui±tzei zasadie:

[numer vêz³a nadøêdnego]
["/."]
pe³ne dane pliku umie¹èenego v danym vê¼le
["/" + nazva vêz³a]
pe³ne dane pliku o danei nazvie v katalogu nadøêdnym

Pøedrostek / dodaiemy oèivi¶tie dla unikniêtia zdeøenia ze zvyk³ymi cechy s³ovnika.

Obti±¾enie

Oblièenie obti±¾enia polega na tym, ¾e dla ka¾dego katalogu oblièa siê iego obti±¾enie tza³kovite ved³ug vzoru:

Vzór ten iest, iak vida», formalnie samopovrotny, ale zast±pili¶my i prostym pøei¶tiem po v¹itkich znalezionych zbiorach, propagui±tz obti±¾enie do vêz³óv nadøêdnych.

Oblièone obti±¾enie zapisuie siê v osobnym s³ovniku.

Vyniki

Oblièone s³ovniki pøièepia siê do okna formulaøa iako v³a¶tivo¶ti globalne. Nie iest to nailep¹e rozvi±zanie, ale standardovy DOM nie pozvala na budovanie vielopoziomovych s³ovnikóv dynamiènych, bez których nie mo¾na siê tu oby».

(Od biedy mo¾na symulova» s³ovniki dvupoziomove mai±tz do dyspozycji identyfikator formulaøa i nazvê pola, ale ogranièenia sk³adniove identyfikatoróv s± inne ni¾ v pøipadku nazv plikóv, viêtz tøeba by by³o dodatkovo kodova» nazvy — no i vymaga³oby to utvoøenia ie¹èe iednego dokumentu.)

Vyniki umie¹èane s± v spisie do vyboru v koleino¶ti od naitiê¾¹ego, pøi èim u¾itkovnik vidi oblièony tiê¾ar vêz³a, a pozosta³e informacje o vybranym vê¼le otøimuie po vybraniu vêz³a i pøiti¶niêtiu pøitisku.

¦ledzenie

Piervotnie algorythm na bie¾±tzo demonstrova³ pøetvaøane dane v osobnym oknie pøegl±darki; v poè±tkovym okresie rozvoiu by³o to nieodzovno dla rozpoznania i popravienia b³êdóv, ale v ostateènei postati povodova³o znaène opó¼nienie dia³ania programmu. Po vy³±èeniu kodu odpoviedialnego za ¶ledzenie vykonanie odbyva siê b³yskaviènie — popøednio tøeba by³o èeka» kilka minut. Pøipu¹èam, i¾ povodova³o siê to du¾im naøutem pøi pøekazyvaniu danych z u¾itku HTML do dedykovanego okna ¶ledzenia, uruchomionego v innym processie. V razie k³opotóv mo¾na tê cechê z povrotem v³±èi».

Uvagi dla u¾itkovnika

Oèivi¶tie nie ka¾dy du¾i katalog mo¾na usun±»; v ¹èególno¶ti nie poletzam usuvania g³óvnego katalogu poèty… Ale s± katalogi, które s± du¾e i nie s± potøebne v tza³o¶ti; iu¾ to zobaèimy v spisie, ¾e niektóre viadomo¶ti s± nadmiernie tiê¾kie (do tego tzelu tøeba upoø±dkova» viadomo¶ti ved³ug rozmiaru), iu¾ to mo¾e okaza» siê, ¾e mo¾emy stare viadomo¶ti pøenie¶» do archivum (to iest nietzo bardiei ryzykovne). Po vykonaniu tych èinno¶ti, ie¾eli nie pøinios³y oèekivanego vyniku dla poiemno¶ti skøinki, zaèinamy v¹itko od poè±tku (od FTP).

Poni¾¹i formulaø, vraz z napisan± dlaò funkcj± show_listing, s³u¾i do zletzania oblièeò. Iest on oèivi¶tie nie pod³±èony, ponieva¾ nie mam pod rêk± Tvoiego spisu plikóv.

Formulaø dia³a tylko v samodielnei applikacji HTA, po ¶ti±gniêtiu i pod³±èeniu spisu!

Podgl±d nag³óvkóv

Klaviatura ekranova