Přejít k hlavnímu obsahu
DL 1
  • Titulní stránka
  • Podpora uživatelů
    Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
  • Další
Čeština ‎(cs)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
Momentálně na stránky přistupujete s právy hosta.
Přihlášení
DL 1
Titulní stránka Podpora uživatelů Sbalit Rozbalit
Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
Rozbalit vše Sbalit vše
  1. Základy programování a algoritmů
  2. Závěrečná úloha
  3. Photosort

Photosort

Požadavky na absolvování
Otevřené: čtvrtek, 20. října 2022, 00.00
Termín: pondělí, 23. ledna 2023, 23.59

Vytvořte skript photosort.py, který bude uspořádávat fotky na základě v nich obsažených exif dat.

### Použití v terminálu

```
$ python photosort.py [input_dir] [output_dir] -x
```

### Jak to funguje

- Vstupem je složka s fotkami.
- Výstupem je složka kam jsou fotky překopírovány. Pokud tato složka neexistuje, tak je vytvořena.
- V cílové složce vytvoříte podsložky podle roku pořízení fotografií.
- V každé podsložce jsou fotky pojmenovány dle následujícího vzoru:  
 `year-month-day-sequence.jpg`  
- Fotky, které nemají EXIF data k dispozici jsou umístěny ve složce `unknown`.

- Soubory co nejsou fotografie je třeba také ošetřit - ponechat nebo se zeptat uživatele na odstranění atp.

- V příloze máte soubor fotek na kterých si můžete program testovat.

### Ukázkový výstup

```
photos/2016/2016-03-21-001.jpg
photos/2016/2016-08-19-001.jpg
photos/2016/2016-08-19-002.jpg
photos/2016/2016-08-19-003.jpg
photos/2016/2016-10-02-001.jpg
photos/2017/2017-06-10-001.jpg
photos/2017/2017-09-18-001.jpg
photos/2019/2019-03-24-001.jpg
photos/unknown/001.jpg
photos/unknown/002.jpg
photos/unknown/003.jpg
```

### Možnosti programu

- Jedna značka upravuje běh programu `-x`.
- Značka `-x` znamená, že originální fotografie jsou odstraněny po překopírování. Nejlépe až na potvrzení od uživatele.

### Použití knihoven

Je třeba použít vhodný Python modul na čtení EXIF dat jako Pillow,  ExifRead, piexif, či exif.

### MVP

Zde uvedený popis je pouze tzv. MVP - minimal viable product - tedy minimální požadavky.

Doporučuji pro demonstraci dovedností a uvažování doplnit program o další vymoženosti, např.:

- přidat značku `-m`, která umístí mapy do světové mapy a vygeneruje HTML soubor s jejich umístěním.

- vybavit mapu možností volby fotek z jednotlivých let.

- přidat možnosti na uživatelem určený formát pojmenování atp.

### Odevzdání

Odevzdejte celý svuj git repozitář se souborem samotného programu v ZIPu s vaším jménem, např. svarny_petr.zip.

  • photos.zip photos.zip
    2. října 2022, 19.26
◄ Zelle: Python programming
Kontaktujte podporu stránek
Momentálně na stránky přistupujete s právy hosta. (Přihlášení)
Stáhněte si mobilní aplikaci
Používá Moodle