Автор Тема: Задача 3 - 13.11.2007 - 27.12.2007  (Прочетена 96480 пъти)

tarator

  • Напреднали
  • *****
  • Публикации: 849
    • Профил
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #15 -: Dec 15, 2007, 01:27 »
Като се има предвид, че около два пълнителя за Калашников ще са достатъчни за да очистят голяма част от потребителите на Plan9, броят на българи, които са му фенове е доста голям '<img'> Във fortune файла на Plan9 има поговорка "Never smack a Bulgarian" '<img'>
Активен

A gentleman is one who is never rude unintentionally. - Noel Coward

radoulov

  • Напреднали
  • *****
  • Публикации: 116
    • Профил
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #16 -: Dec 16, 2007, 20:15 »
Още една shell версия:

Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. source="$1"
  4. dest="$2"
  5. export source dest
  6.  
  7. find "${source:=source}" -name '*.mp3' -exec bash -c '
  8.     filename="$1"
  9.     id3 -l "$filename"|while read -r; IFS=: read -r t s ar;IFS=: read -r a al j; do
  10.          song="${s%                          Artist}"
  11.          artist="${ar%                      }"
  12.          album="${al%                         Year}"
  13.          dst="${dest:=dest}/${artist# }/${album# }"
  14.          [ -d "$dst" ]||mkdir -p  "$dst"
  15.          mv -v "$filename" "$dst/${artist# } - ${song# }.mp3"
  16. done' - {} \;
« Последна редакция: Nov 18, 2010, 21:10 от VladSun »
Активен

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #17 -: Jan 04, 2008, 17:23 »
И така дойде време да теглим чертата и да видим кой какъв какво и как ':p'

Равносметката
Имаме 3-ма участници vladsun, radulov i tarator с общо 5 решения. 3 скриптови и две компилирани. 4 от тях що годе нормални и едно дето ми издуха главата.

По идейност смятм че едноличен победител е tarator (аплодисменти, хвърчащи цветя и жени).

Кратък разбор по задачки

vladsum - mp3o.c
Стилистично добре издържана, добре четима, има си опцийка колко да е шумна. Добра идея е ограничението за дълбочина на рекурсията. Не чак толкова добра идея е да се използва собствено парсене на ID3 информацията защото може да се намира на доста места (дори v1)

vladsum - mp3o.pl
Perl защо ли не съм учуден '<img'> Разчита се на външен модул (дано той да се справя добре). С итератора идеята е добра. Няма хендлинг на грешки (освен ако в използваните модули няма свестен). Като цяло изглежда добре и си бачка добре.

radulov - mp3awk.sh
The power of awk. Кратко сладко, семпло, ефективно. Има умно използване на специални променливи от средата. И единственотко което не мога още да зацепя е страшно странният сепаратор на полета който се ползва (но работи)

radulov - mp3bash.sh
Bash Magic '<img'>. Интересно попълване на полетата, но полето за артист не се изчита цялото. По стандарт е 30 знака.

tarator - mp3fs.c
Doctor where is my head!!!
Аммм ако може такова нали да не коментирам. Бях останал с впечатлението че се изгъбарка но не би ... организация на музика посредством файлова система.
Кодът изглежда подреден, макар че стилът не е от най-четливите. Цялостен е до толкова до колкото библиотеките се оправят с проблемите. Тъй като не съм много запознат със spfs не мога да съм по точно аргументиран.

Крайната ситуация
За мен лично победител в този кръг е tarator - поздравления.

Моля сега всички да си изкажат тяхното мнение.

пс: Очаквайте следващия кръг. Само да драсна някакво референтно решение.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

tarator

  • Напреднали
  • *****
  • Публикации: 849
    • Профил
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #18 -: Jan 04, 2008, 21:39 »
Виновник за лошия стил е софтуера на форума, стилът ми не се различава от стандартния на Линукс ядрото.
Активен

A gentleman is one who is never rude unintentionally. - Noel Coward

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #19 -: Jan 06, 2008, 18:45 »
Решението на tarator определено ми харесва - заради него се зачетох в този български проект '<img'> И аз гласувам за неговото решение '<img'>

По отношение на забележката за парсването на ID3 тага на zeridon - познай кой сорс съм разглеждал за повече инфо за ID3 тага - id3 ':p' '<img'> В този смисъл, моето С решение работи толкова добре, колкото и решенията с bash/awk ползващи id3 инструмента.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #20 -: Jan 06, 2008, 18:46 »
Цитат
Виновник за лошия стил е софтуера на форума, стилът ми не се различава от стандартния на Линукс ядрото.
Мдам, всеки път и аз забравям за това. Решението е tabs-to-spaces :)
« Последна редакция: Jan 19, 2009, 14:47 от zeridon »
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Acho

  • Напреднали
  • *****
  • Публикации: 9539
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #21 -: Jan 17, 2023, 08:14 »
Аман от простотийки, темата е от 2006 година деа. Само спамове.
Активен

Без подпис - най-хубу. Че тука разни цървули мрънкат като дървени философи.

mirafiori

  • Участници
  • ***
  • Публикации: 3
  • Window Manager: LindaDyems
    • Профил
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 9665
    • Профил
Re: Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #23 -: Jul 19, 2026, 21:12 »
Гога, тук ли си?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Acho

  • Напреднали
  • *****
  • Публикации: 9539
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #24 -: Jul 20, 2026, 08:30 »
Явно го няма.
Активен

Без подпис - най-хубу. Че тука разни цървули мрънкат като дървени философи.

kuunlaaksot

  • Напреднали
  • *****
  • Публикации: 331
  • Distribution: CRUX
    • Профил
Re: Задача 3 - 13.11.2007 - 27.12.2007
« Отговор #25 -: Jul 23, 2026, 23:23 »
Гога, тук ли си?

оставете ги линковете... може пък, специалният латентнен педал на умрелия ви форум да се върне на "правилния" тротоар
Активен

lunarvalleys

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Мандрива 2007 сървъри за ъпдейт
Настройка на програми
enemam 3 14938 Последна публикация Nov 02, 2006, 18:42
от Nik123
Проблем с видеото на Мандрива 2007
Настройка на програми
eka 9 16239 Последна публикация Jan 09, 2007, 04:45
от Nik123
Мандрива 2007
Настройка на хардуер
angelfire 1 14408 Последна публикация Jan 08, 2007, 15:16
от nfsto
Xgl проблем мандрива 2007
Настройка на хардуер
komara_mnt 9 17492 Последна публикация Feb 07, 2007, 12:38
от TheNightmare
Халф-Лайв-ЦС под Мандрива 2007
Общ форум
popaay 31 18948 Последна публикация Oct 05, 2007, 23:50
от Nik123