abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 0
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 2
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 1
    včera 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 9
    2.11. 17:52 | Zajímavý projekt
    WorldTUI je experimentální LLM o 360 milionech parametrů, který napodobuje terminál. Podle stisknutých kláves se snaží předpovídat změny na obrazovce a zvládá tak vyonávat rozličné příkazy, například Vim, tmux i jednoduchou hru Snake. Nejedná se o skutečný příkazový řádek, jeho 'soubory' i příkazy jsou pouze simulované a model může samozřejmě různě chybovat. WorldTUI vychází z jazykového modelu Qwen2.5-Coder-0.5B, který autor … více »
    👻 | Komentářů: 2
    2.11. 17:48 | Zajímavý článek
    Josef Bacik navrhuje novou abstrakci cell, která by celý kontejner reprezentovala jako jeden kernelový objekt. Proces by vznikl přímo uvnitř cell a nemohl by ji opustit. Oprávnění ke správě by se odvozovala od držení cellfd. … více »
    vencour | Komentářů: 11
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2970 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: sort v perlu dle cest ..

    nettezzaumana avatar 27.5.2009 09:58 nettezzaumana | skóre: 3
    sort v perlu dle cest ..
    Přečteno: 682×
    ciao ..

    prosim poradte mi, nemuzu na to prijit .. jak se prosim v perlu sesortuje @foo jako cesty (paths), to znamena, ze je dodrzovan "directory-tree" dle "/", podobne jako ze shelloveho `find`.
    sort { $a =~ tr[/][] <=> $b =~ tr[/][] || $a cmp $b; } @flist
    tohle je docela blizko, ale stejne to udela nakonec spatne ..

    zde najdete .. ps. abych Vam usetril praci, tak kodem nize vytvorite @foo ::

    #!/usr/bin/env perl
    
    use warnings;
    use strict;
    use File::Find;
    
    sub build_flist {
            my($fpath);
            our(@flist);
            $fpath = shift;
    #       chdir("$fpath");
            @flist = "";
            find(\&wanted, "$fpath");
            sub wanted {
                    my($found);
                    $found = $File::Find::name;
                    push(@flist, "$found");
            };
    
    #        return sort {
    #                $a =~ tr[/][] <=> $b =~ tr[/][] || $a cmp $b;
    #                } @flist;
             return @flist;
    };
    
    my $action = $ARGV[0];
    
    print "$_\n" foreach(build_flist("$action"));
    
    exit;

    Odpovědi

    nettezzaumana avatar 27.5.2009 10:21 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    order by mel bejt ::
    $rootdir/$singlefiles .. ->
    $rootdir/$nextdir1/$singlefiles .. ->
    $rootdir/$nextdir2/$singlefiles ..
    btw. delam to proto, ze na ruznych operacnich systemech co pouzivam mi File::Find dela jinej defaultni order a ja ho potrebuju explicitne sesortovat ..
    27.5.2009 11:12 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Pokud chcete to co si myslím že chcete, tj. seřadit tak aby nejprv byly soubory a pak adresáře, tak by mohlo pomoci něco jako:
    sort { $a =~ tr[/][\xff]; $b =~ tr[/][\xff]; $a cmp $b; }
    To za předpokladu, že nebudete mít unicode, v opačném případě si tam dejte nějaký jiný znak, který je dostatečně "vzadu". Pokud by se v názvech souborů objevil ten znak \xff, tak můžete použít místo substituce rotaci:
    sort { $a =~ tr[/-\xff][0-\xff/]; $b =~ tr[/-\xff][0-\xff/]; $a cmp $b; }
    In Ada the typical infinite loop would normally be terminated by detonation.
    nettezzaumana avatar 27.5.2009 12:35 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    hehe. nechci byt ironicky ale zkousel jste kod co jste postnul?

    potrebuju aby byla zachovana stromova struktura aka
    root/file1
    root/file2
    root/dir1
    root/dir1/file1
    root/dir1/file1
    root/dir1/sdir1
    root/dir1/sdir1/file1 .. filex
    root/dir2
    root/dir2/file1 .. filex
    root/dir2/sdir .. blah
    
    ..
    root/dirx/sdirx.*/filex
    27.5.2009 12:42 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Zkoušel jsem ho do té míry že není syntakticky špatný, proto jsem napsal "něco jako". Nechci být ironický, ale děkuji za podrobné vysvětlení co ten kód dělá špatně a jak to má vypadat správně.
    In Ada the typical infinite loop would normally be terminated by detonation.
    nettezzaumana avatar 27.5.2009 13:01 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    nicmene napadla me jina cesta .. je to sice takovej "coding u-turn" ale snad by to mohlo jit ::

    uz pri vytvareni pole vybirat do @flist soubory (File::Find::name) a do @dlist adresare (File::Find::dir) a potom na zaklade *neceho (?mrzkeho) obe pole sloucit ..
    27.5.2009 15:12 kaaja | skóre: 24 | blog: Sem tam něco | Podbořany, Praha
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..

    Já vidím problém v tom, jak poznat rozdíl mezi root/file1 a root/dir1. Pokud by třeba dir měla na konci vždy /, tak by při tom porovnávání se dalo udělat něco jako

    sort{
    if (($a ~= /\/$/ ) && !($b ~= /\/$/)) { return 1; } 
    elseif ( !($a ~= /\/$/ ) && ($b ~= /\/$/)) {return -1;}
    else {return $a cmp $b; }
    }
    

    Kód jsem netestoval (nemám ho  teď kde pustit), takže to berte jenom jako námět.

     

    nettezzaumana avatar 27.5.2009 16:35 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    #!/usr/bin/env perl
    
    use warnings;
    use strict;
    use File::Find;
    
    sub build_flist {
            my($fpath);
            our(@flist, @dlist, @overall);
            $fpath = shift;
            @flist = "";
            @dlist = "";
            @overall = "";
            find(\&wanted, "$fpath");
    
            ## vytvorime dve pole, jedno obsahuje jen adresare (@dlist)
            ## a druhe soubory (@flist)
            sub wanted {
                    my $found = $File::Find::name;
                    push(@dlist, $found) if(-d "$found");
                    push(@flist, $found) if(-f "$found");
            };
    
            # kvulli pop()ovani je reverzne sortneme
            @dlist = sort @dlist;
            @flist = sort {$b cmp $a} @flist;
    
            ## zacneme vytvaret finalni pole @overall, do ktereho se snazime
            ## spojit obe pole s adresari a soubory,
            ## `for(1 .. @dlist)` pouzivame misto `foreach(@dlist)` abychom se
            ## pop()em nezrali od ocasu .. zaroven si prelejvame jedno pole do
            ## druheho, misto abychom duplikovanim zabirali prilis pameti ..
            for(1 .. @dlist) {
                    my $foo = pop(@dlist);
                    push(@overall, "$foo") if($foo ne $overall[@overall - 1]);
    
                    # a zde by mela prijit finalni finta:
                    # vytvorime cyklus ktery >> dokud bude stejnej posledni pop()nutej
                    # prvek do @overall ($foo) jako posledni prvek z pole se soubory
                    # oriznutej o jmeno souboru takze zbyde adresar ($flist[@flist - 1] =~ s@/.[^/]+$@@) <<
                    # tak ten posledni prvek z @flist push()ne do @overall a pop()neme z @flist..
    
            };
    
            return @dlist;
    };
    
    my $action = $ARGV[0];
    
    print "$_\n" foreach(build_flist("$action"));
    
    exit;
    
    27.5.2009 18:26 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Kdybyste se tak křečovitě nedržel File::Find tak by to šlo i jednodušeji.
    #!/usr/bin/perl
    
    require 5.010_000;
    use strict;
    use warnings;
    use feature qw/switch say/;
    use autodie qw/opendir readdir/;
    
    
    # fetch arguments...
    my @dirs = sort @ARGV;
    @dirs = qw/./ unless scalar @dirs;
    
    my @output;
    
    # walk through directory queue...
    while (my $dir = shift @dirs) {
    
            # include this directory in output...
            push @output, $dir;
    
            # temporary array for directory objects
            # we use this to maintain the already sorted order...
            my @localdirs;
            
            # process all entries in this directory...
            opendir(my $dh, $dir);
            for my $obj (sort readdir($dh)) {
                    # skip dot and dotdot...
                    next if $obj ~~ [qw/. ../];
    
                    # figure out the full path and process it...
                    given ("$dir/$obj") {
                            # files go to output...
                            when (-f) { push @output, $_ }
    
                            # dirs go to temp. array...
                            when (-d) { push @localdirs, $_ }
                    }
            }
    
            # prepend found directories to the queue...
            unshift @dirs, @localdirs if scalar @localdirs;
    }
    
    say join("\n", @output);
    
    Žádné tajné triky :)
    In Ada the typical infinite loop would normally be terminated by detonation.
    nettezzaumana avatar 28.5.2009 09:07 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Vas kod sam o sobe vyhodil nejake ohavne errory, jako chybejici autodie, ale po male uprave sel (bohuzel jen na Linuxu) .. protoze to potrebuju *klasickou metodou funkcni i na systemech jako solaris 8, tak sem musel sbustlit metodu nize:

    rad se necham poucit s opravou te fce, co slucuje obe pole, je to totiz neunosne pomale. experimentoval jsem s prerovnavanim a shiftovanim z obou poli, ale je to pomale stejne ..

    diky a zdravim
    #!/usr/bin/env perl
    
    use warnings;
    use strict;
    use File::Find;
    
    our(@files, @dirs);
    my($input, @final, $foo, $bar);
    
    find(\&bingo, shift(@ARGV));
    
    sub bingo {
            $_ = $File::Find::name;
            push(@files, $_) if -f;
            push(@dirs, $_) if -d;
    };
    
    @files = sort(@files);
    @dirs = sort(@dirs);
    
    #### playground:
    while($input = shift(@ARGV)) {
            if($input eq 'd') {
                    print "$_\n" foreach(@dirs);
                    next;
            };
            if($input eq 'f') {
                    print "$_\n" foreach(@files);
                    next;
            };
            if($input eq 'a') {
    
                    ## sorting is *very *very slow ..
                    foreach(@dirs) {
                            $foo = $_;
                            push(@final, $foo);
                            foreach(@files) {
                                    $bar = $_;
                                    $bar =~ s@/.[^/]*$@@;
                                    push(@final, $_) if($foo eq $bar);
                            };
                    };
                    print "$_\n" foreach(@final);
            };
    };
    
    exit;
    
    28.5.2009 09:46 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Je to neúnosně pomalé, protože to zavání kvadratickou nebo bůhvíjakou složitostí. Určitě by to šlo nějak zrychlit, ale pouze konstantní mírou, takže pro velký objem dat to stejně bude pasé.

    Ten Váš přístup je prostě no-go. Fundamentální problém je v tom, že kvůli File::Find házíte vše do jednoho pytle (resp. dvou pytlů) a tak ztrácíte možnost správně zařadit věci ve chvíli, kdy přijdou pod ruku. Pak se to snažíte krkolomně rozuzlit. Je to typický příklad nepředávání důležité informace mezi částmi programu.

    Můj program je dělaný pro Perl v5.10 a s předpokladem, že není problém doinstalovat některé užitečné moduly (např. autodie). Neměl by být problém ho retardovat na starší verzi. Místo autodie použijete klasické ... or die, místo smart match použijete grep a místo given...when použijete if...elsif.
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    
    # fetch arguments...
    my @dirs = sort @ARGV;
    @dirs = qw/./ unless scalar @dirs;
    
    my @output;
    
    # walk through directory queue...
    while (my $dir = shift @dirs) {
    
            # include this directory in output...
            push @output, $dir;
    
            # temporary array for directory objects
            # we use this to maintain the already sorted order...
            my @localdirs;
    
            # process all entries in this directory...
            opendir(my $dh, $dir) or die "opendir $dir: $!\n";
            my @entries = readdir($dh);
            die "readdir $dir: $!\n" unless scalar @entries;
            for my $obj (sort @entries) {
                    # skip dot and dotdot...
                    next if grep { $_ eq $obj } (qw/. ../);
    
                    # figure out the full path and process it...
                    my $fp = "$dir/$obj";
    
                    if (-f $fp) {
                            # files go to output...
                            push @output, $fp;
                    }
                    elsif (-d $fp) {
                            # dirs go to temp. array...
                            push @localdirs, $fp;
                    }
            }
    
            # prepend found directories to the queue...
            unshift @dirs, @localdirs if scalar @localdirs;
    }
    
    print join("\n", @output), "\n";
    
    Opět dodávám, že jsem tento program na Vašem systému netestoval, takže si případné drobnosti dolaďte.
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.5.2009 10:06 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    niečo takéto by nepomohlo? (netestované)
    sort {
      (-d $a ? 0 : 1) <=> (-d $b ? 0 : 1)
     || split ('/', $a) <=> split ('/', $b)
     || $a cmp $b
    } @flist
    
    28.5.2009 10:54 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Myslím že tohle by vždy upřednostnilo soubory před adresáři, což není to pravé ořechové. Druhý level by pak asi upřednostnil, pokud si to správně představuju, všechny soubory s jedním lomítkem před dvěma lomítky, atp.

    Problémy tohoto přístupu, i kdyby fungoval, jsou dva:

    1) Sort má složitost n*logn, takže přesně tolik uděláte syscallů stat() - čili budete spoustu souborů statovat duplicitně - to jde vyřešit pomocným polem/schwarzovou transformací.

    2) I kdybyste počet volání stat() linearizoval, tak v podstatě oddřete znova to co už jednou dělal file::find. Jinými slovy snažíte se vydolovat z jednoho pole informaci kterou jste předtím věděl, ale zbavil jste se jí (viz můj příspěvek výše).
    In Ada the typical infinite loop would normally be terminated by detonation.
    nettezzaumana avatar 28.5.2009 15:14 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    diky za odpovedi.

    Vase metoda je dobra, nepochybne lepsi nez ta moje pomoci File::Find .. Jeste se zamyslim, jestli nebude stat za to prepsat to cele po Vasem.
    28.5.2009 15:46 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    skúste ešte zakomponovať tento kúsok:
    my %dirs;
    sub wanted {
      %dirs{$File::Find::dir} = 1;
      ...
    };
    
    a miesto "-d $a" v sorte použiť "exists $dir{$a}"

    takisto môžete použiť:
    my %dirs;
    sub wanted {
      push @{ $dirs{$File::Find::dir} }, $File::Find::name;
    }
    
    a btw, obyčajný sort @list nestačí?
    28.5.2009 16:43 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    To je to pomocné pole (hash) o kterém jsem mluvil, řešící jen půlku problému :)
    In Ada the typical infinite loop would normally be terminated by detonation.
    nettezzaumana avatar 28.5.2009 18:15 nettezzaumana | skóre: 3
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    jenom pro zajimavost, existuje podle Vas nejaka cesta, jak efektivne srovnat obe pole pokud by to bylo moji puvodni metodou .. ??

    ps. nemusite mit strach, prijal jsem Vase reseni, je dobre .. ;)
    29.5.2009 06:47 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Pokud nechcete pro každý adresář procházet celý seznam souborů (jak to dělalo Vaše původní řešení), tak si musíte vybudovat pomocnou datovou strukturu (hash polí), kde rozřadíte soubory na jeden zátah, přibližně takto
    my %files_in;
    for my $file (@files) {
        # Tady potřebujete mít soubory v aktuálním adresáři ve formátu "./soubor"
        # nebo to ještě nějak ošetřit pokud máte pouze "soubor"
        my ($dir_part) = ($file =~ m{^(.*)/.*?$});
        push @{$files_in{$dir_part}}, $file;
    }
    
    (V podstatě to samé co dělal barney už při findování.) Pak byste tu strukturu vypsal (použil) nějak takto:
    for my $dir (sort keys %dirs_to_files) {
        print $dir, "\n",
              join("\n", sort @{$files_in{$dir}}), "\n";
    }
    
    (Opět nezkoušeno.)
    In Ada the typical infinite loop would normally be terminated by detonation.
    29.5.2009 06:48 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Jo, místo toho sort keys %dirs_to_files má být sort keys %files_in.
    In Ada the typical infinite loop would normally be terminated by detonation.
    29.5.2009 11:00 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    sub build_flist {
        my ($fpath) = @_;
    
        my %dirs;
        find (sub { push @{ $dirs{$File::Find::dir} }, $File::Find::name; }, $fpath);
    
        @$_ = sort @$_ for values %dirs;
    
        my @head = @{ delete $dirs{$fpath} };
        my @flist;
    
        while (my $d = shift @head) {
            push @flist, $d;
            unshift @head, @{ delete $dirs{$d} } if exists $dirs{$d};
        }
    
        @flist
    }
    
    $\ = "\n";
    print for build_flist ($ARGV[0])
    
    
    29.5.2009 13:08 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    Tak tahle rutina vypadá dost komplikovaně a zběsile na to, aby už fungovala, ne? Ve skutečnosti to dělá asi tohle:
    sub build_flist {
        my ($fpath) = @_;
    
        my @r;
        find (sub { push @r, $File::Find::name; }, $fpath);
    
        return sort @r;
    }
    
    Čili jednak překombinované a jednak to nedělá to co to má dělat ;-)

    A přečtěte si někdy aspoň knihu perl best practices, za některé výtvory (@$_ = sort @$_ for values %dirs) bych střílel...
    In Ada the typical infinite loop would normally be terminated by detonation.
    29.5.2009 18:47 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    nie celkom, príklad: "dir1", "dir1/1" a "dir1-1"
    30.5.2009 05:19 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: sort v perlu dle cest ..
    V tom máte pravdu, ale na druhou stranu to celé zařadí před "dir2" (i kdyby to byl soubor).
    In Ada the typical infinite loop would normally be terminated by detonation.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.