Перейти к содержимому


Фотография
* * - - - 5 Голосов

Товарищи программисты! Очень нужна ваша помощь!

программа-или-скрипт

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 21

#1 D.D.M.

D.D.M.

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 416 сообщений

Отправлено 14.06.2020, 19:56

Друзья, добрый вечер.

Я представитель радиостанций Европа Плюс и Монте-Карло в Саранске. Нам нужна помощь а конкретнее - две программы или два скрипта BAT для автоматизации эфира. Сразу скажу, денег не дадут, но как вы знаете на радио всегда разыгрываются билеты в кино и на мероприятия, пицца, роллы и тому подобное. Поэтому - сочтемся!:-) (после пандемии точно).

Итак, задача 1:

-Есть ссылка, которая обновляется раз в несколько минут (https://metadataws.h...ep/current.json). В ней москвичи публикуют имя автора трека, название трека, обложку альбома и еще какую-то превьюшку. Необходимо, чтобы запускался алгоритм, который бы:

1. Вытаскивал из ссылки автора и трек (держит в буфере)

2. Если они на русском языке - переводил на транслит (держит в буфере)

3. Если название написано маленькими буквами, сохранял все большими (пример - баста осень = BASTA OSEN) (держит в буфере)

4. После всего этого правильно формирует выходной файл. В файл добавляет дефис после автора и кавычки перед названием трека BASTA-"OSEN"(держит в буфере)

5. Сохраняет в одну строчку BASTA-"OSEN" в txt файл в ту же директорию, где и располагается та программа. 

6. Программа завершает свою работу и закрывается (планируется ее разместить в планировщик заданий и запускать раз в 20 секунд).

 

Задача2:

от части аналогия первой.

Есть XML файлик, он лежит на локальном пк.

<?xml version="1.0" encoding="utf-8" ?><ELEM_LIST WRITE_TIME="2020-05-21 14:56:08.181"><ELEM PLAYER_ID="OBJID_PLAY_X1" PLAYER_NAME="Плеер" SCH_ID="6" SCH_NAME="SARANSK_RMC" STATUS="playing"><START_TIME>14:56:05</START_TIME><START_DATE>2020-05-21</START_DATE><BLK_TYPE>М</BLK_TYPE><TYPE>М</TYPE><NAME>ЕГО МУЗЫКАЛЬНАЯ КОМПОЗИЦИЯ</NAME><ARTIST>ПРОБНЫЙ АРТИСТ</ARTIST><AUTHOR></AUTHOR><ALBUM></ALBUM><DBID></DBID><FILE_NAME>\\dfm-saransk\DIGISPOT\SND\MUSIC\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\MUSIC\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\MUSIC\4625.wav</FILE_NAME><DURATION>00:02:58</DURATION><RETRANSMISSION>0</RETRANSMISSION><Elem><ID dt="i4">5184</ID><PhonoType dt="i4">4</PhonoType><State dt="i4">0</State><Cmd dt="i4">0</Cmd><Cmd2 dt="i4">18432</Cmd2><Size dt="i4">0</Size><Freq dt="i4">44100</Freq><SmplRealSize dt="i4">10210176</SmplRealSize><DB_ModifyDT dt="i8">132212268717400000</DB_ModifyDT><JnglBtn dt="i4">-1</JnglBtn><DDB_ID dt="i4">714</DDB_ID><DDB_Owner>RMC_MOSCOW</DDB_Owner><MediaPlanDbUid>F877D497-9DEB-4FCE-8102-C4D50199E899</MediaPlanDbUid><MediaPlanSchId dt="i4">3</MediaPlanSchId><MediaPlanDbItemId dt="i4">714</MediaPlanDbItemId><StartTime dt="i4">53765659</StartTime><PlanStartTime dt="i4">53766246</PlanStartTime><Runtime dt="i4">175949</Runtime><StopTime dt="i4">53943898</StopTime><AvailableMeasure>1/1</AvailableMeasure><BeatPerMinute>0</BeatPerMinute><SourceComp>DT-0908</SourceComp><SourceFile>\\srv-air.rr.local\MC\MUSIC_MC\4625.wav</SourceFile><FONO_INFO><RollOut dt="i4">2349805</RollOut><FadeIn dt="i4">36797</FadeIn><FadeOut dt="i4">166666</FadeOut><StartNext dt="i4">45524</StartNext><StartThis dt="i4">55480</StartThis><FadeInType dt="i4">1</FadeInType><FadeOutType dt="i4">1</FadeOutType><MaxLvlOk dt="i4">1</MaxLvlOk><MaxLvl dt="f">0</MaxLvl><Loudness dt="f">-9.30778</Loudness><Gain dt="f">0</Gain><Type dt="i4">3</Type><RuntimePriority dt="i4">0</RuntimePriority><FileName>\\dfm-saransk\DIGISPOT\SND\MUSIC\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\MUSIC\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\MUSIC\4625.wav</FileName><VersionIsNull dt="i4">1</VersionIsNull><FONO_STRING_INFO><Name>НЕЖНОСТЬ222</Name><Artist>FREDERIC SHOPIN</Artist><Category>Monte Carlo\MUSIC_MC</Category><DbName>MC_Main_BASE</DbName><CreateDT dt="i8">0</CreateDT><ModifyDT dt="i8">132065834070000000</ModifyDT></FONO_STRING_INFO><FONO_ROTATOR_INFO/></FONO_INFO><SUBJECT/><ExtendedFields><VersionCount>0</VersionCount></ExtendedFields><ValStorage><General><SourcCompName>DT-0908</SourcCompName><SourcFileName>\\srv-air.rr.local\MC\MUSIC_MC\4625.wav</SourcFileName></General><Integration><RotationEngineType dt="i4">0</RotationEngineType></Integration><ScheduleOnly><CheckVersionAfterIdNumber dt="i4">1</CheckVersionAfterIdNumber><SearchByNullVersion dt="i4">0</SearchByNullVersion></ScheduleOnly></ValStorage><AudioFormat><type dt="i4">1</type><CodecName>pcm_s16le</CodecName><FramesRate dt="d">44100</FramesRate><nChannels dt="i4">2</nChannels><sampleRate dt="i4">44100</sampleRate><bitsPerSample dt="i4">16</bitsPerSample></AudioFormat></Elem><Block><Type dt="i4">16</Type><Name>МУЗЫКА</Name><Time dt="i4">53595000</Time><Size dt="i4">405000</Size><CurId dt="i4">20387</CurId><Flags dt="i4">196608</Flags><DDB_Owner>Saransk</DDB_Owner><CasseteLengthFPS dt="i4">1</CasseteLengthFPS><NumberOfSubjects>0</NumberOfSubjects><NumberOfSbjAudioItems>0</NumberOfSbjAudioItems><BlockVersion dt="i4">0</BlockVersion><ModifyDT dt="i8">0</ModifyDT><RealBlockSize dt="i4">413625</RealBlockSize><ValStorage><GridBlockId dt="i4">81</GridBlockId><RetrChanSrc dt="s"></RetrChanSrc></ValStorage></Block></ELEM><ELEM PLAYER_ID="OBJID_PLAY_X1" PLAYER_NAME="Плеер" SCH_ID="6" SCH_NAME="SARANSK_RMC" STATUS="preloaded"><BLK_TYPE>М</BLK_TYPE><TYPE>М</TYPE><NAME>Музыка Мирового Класса - Микс 105_1</NAME><ARTIST></ARTIST><AUTHOR></AUTHOR><ALBUM></ALBUM><DBID></DBID><FILE_NAME>\\dfm-saransk\DIGISPOT\SND\MUSIC\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\MUSIC\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\MUSIC\4635.wav</FILE_NAME><DURATION>00:00:40</DURATION><RETRANSMISSION>0</RETRANSMISSION><Elem><ID dt="i4">5185</ID><PhonoType dt="i4">4</PhonoType><State dt="i4">0</State><Cmd dt="i4">0</Cmd><Cmd2 dt="i4">18432</Cmd2><Size dt="i4">0</Size><Freq dt="i4">44100</Freq><SmplRealSize dt="i4">1784448</SmplRealSize><DB_ModifyDT dt="i8">132212268717400000</DB_ModifyDT><JnglBtn dt="i4">-1</JnglBtn><DDB_ID dt="i4">41304</DDB_ID><DDB_Owner>RMC_MOSCOW</DDB_Owner><OwnerName>Admin</OwnerName><MediaPlanDbUid>F877D497-9DEB-4FCE-8102-C4D50199E899</MediaPlanDbUid><MediaPlanSchId dt="i4">3</MediaPlanSchId><MediaPlanDbItemId dt="i4">41304</MediaPlanDbItemId><StartTime dt="i4">53941923</StartTime><PlanStartTime dt="i4">53942558</PlanStartTime><Runtime dt="i4">38812</Runtime><StopTime dt="i4">53982386</StopTime><AvailableMeasure>1/1</AvailableMeasure><BeatPerMinute>0</BeatPerMinute><SourceComp>DT-0908</SourceComp><SourceFile>\\srv-air.rr.local\MC\Music\MUSIC_MC\4635.wav</SourceFile><FONO_INFO><FadeOut dt="i4">32099</FadeOut><StartNext dt="i4">33360</StartNext><StartThis dt="i4">39475</StartThis><FadeInType dt="i4">1</FadeInType><FadeOutType dt="i4">1</FadeOutType><MaxLvlOk dt="i4">1</MaxLvlOk><MaxLvl dt="f">-0.199487</MaxLvl><Loudness dt="f">-7.83584</Loudness><Gain dt="f">0.199487</Gain><Type dt="i4">3</Type><RuntimePriority dt="i4">0</RuntimePriority><FileName>\\dfm-saransk\DIGISPOT\SND\MUSIC\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\MUSIC\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\MUSIC\4635.wav</FileName><VersionIsNull dt="i4">1</VersionIsNull><FONO_STRING_INFO><Name>Музыка Мирового Класса - Микс 105_1</Name><Category>Monte Carlo\MUSIC_MC</Category><DbName>MC_Main_BASE</DbName><CreateDT dt="i8">0</CreateDT><ModifyDT dt="i8">132065834650000000</ModifyDT></FONO_STRING_INFO><FONO_ROTATOR_INFO/></FONO_INFO><SUBJECT/><ExtendedFields><VersionCount>0</VersionCount></ExtendedFields><ValStorage><General><SourcCompName>DT-0908</SourcCompName><SourcFileName>\\srv-air.rr.local\MC\Music\MUSIC_MC\4635.wav</SourcFileName></General><Integration><RotationEngineType dt="i4">0</RotationEngineType></Integration><ScheduleOnly><CheckVersionAfterIdNumber dt="i4">1</CheckVersionAfterIdNumber><SearchByNullVersion dt="i4">0</SearchByNullVersion></ScheduleOnly></ValStorage><AudioFormat><type dt="i4">1</type><CodecName>pcm_s16le</CodecName><FramesRate dt="d">44100</FramesRate><nChannels dt="i4">2</nChannels><sampleRate dt="i4">44100</sampleRate><bitsPerSample dt="i4">16</bitsPerSample></AudioFormat></Elem><Block><Type dt="i4">16</Type><Name>МУЗЫКА</Name><Time dt="i4">54000000</Time><Size dt="i4">600000</Size><CurId dt="i4">20767</CurId><Flags dt="i4">196608</Flags><DDB_Owner>Saransk</DDB_Owner><CasseteLengthFPS dt="i4">1</CasseteLengthFPS><NumberOfSubjects>0</NumberOfSubjects><NumberOfSbjAudioItems>0</NumberOfSbjAudioItems><BlockVersion dt="i4">0</BlockVersion><ModifyDT dt="i8">0</ModifyDT><RealBlockSize dt="i4">655580</RealBlockSize><ValStorage><GridBlockId dt="i4">75</GridBlockId><RetrChanSrc dt="s"></RetrChanSrc></ValStorage></Block></ELEM><ELEM PLAYER_ID="OBJID_PLAY_X1" PLAYER_NAME="" SCH_ID="6" SCH_NAME="SARANSK_RMC" STATUS="scheduled"><BLK_TYPE>М</BLK_TYPE><TYPE>Д</TYPE><NAME>JN_53 (Slow Light Gitar)</NAME><ARTIST></ARTIST><AUTHOR></AUTHOR><ALBUM></ALBUM><DBID></DBID><FILE_NAME>\\dfm-saransk\DIGISPOT\SND\JNGL\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\JNGL\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\JNGL\7553.wav</FILE_NAME><DURATION>00:00:12</DURATION><RETRANSMISSION>0</RETRANSMISSION><Elem><ID dt="i4">0</ID><PhonoType dt="i4">4</PhonoType><State dt="i4">0</State><Cmd dt="i4">0</Cmd><Cmd2 dt="i4">18432</Cmd2><Size dt="i4">0</Size><Freq dt="i4">44100</Freq><SmplRealSize dt="i4">585216</SmplRealSize><DB_ModifyDT dt="i8">132212293512800000</DB_ModifyDT><JnglBtn dt="i4">-1</JnglBtn><DDB_ID dt="i4">4242</DDB_ID><DDB_Owner>RMC_MOSCOW</DDB_Owner><MediaPlanDbUid>F877D497-9DEB-4FCE-8102-C4D50199E899</MediaPlanDbUid><MediaPlanSchId dt="i4">3</MediaPlanSchId><MediaPlanDbItemId dt="i4">4242</MediaPlanDbItemId><StartTime dt="i4">53981132</StartTime><PlanStartTime dt="i4">53981760</PlanStartTime><Runtime dt="i4">10102</Runtime><StopTime dt="i4">53993391</StopTime><AvailableMeasure>1/1</AvailableMeasure><BeatPerMinute>0</BeatPerMinute><SourceComp>DT-0908</SourceComp><SourceFile>\\srv-air.rr.local\MC\MUSIC_MC Джинглы\7553.wav</SourceFile><FONO_INFO><RollIn dt="i4">44555</RollIn><StartNext dt="i4">72888</StartNext><StartThis dt="i4">22299</StartThis><FadeInType dt="i4">1</FadeInType><FadeOutType dt="i4">1</FadeOutType><MaxLvlOk dt="i4">1</MaxLvlOk><MaxLvl dt="f">-0.199487</MaxLvl><Loudness dt="f">-9.78322</Loudness><Gain dt="f">-2.21678</Gain><Type dt="i4">2</Type><RuntimePriority dt="i4">0</RuntimePriority><FileName>\\dfm-saransk\DIGISPOT\SND\JNGL\Saransk\10.204.123.16\DIGISPOT\ROOT\SND\JNGL\RMC_MOSCOW\rmg-store01.rr.local\rmg_sql\MC\ROOT_MC\SND\JNGL\7553.wav</FileName><VersionIsNull dt="i4">1</VersionIsNull><FONO_STRING_INFO><Name>JN_53 (Slow Light Gitar)</Name><Category>Monte Carlo\ДЖИНГЛЫ</Category><DbName>MC_Main_BASE</DbName><CreateDT dt="i8">0</CreateDT><ModifyDT dt="i8">132066110830000000</ModifyDT></FONO_STRING_INFO><FONO_ROTATOR_INFO/></FONO_INFO><SUBJECT/><ExtendedFields><VersionCount>0</VersionCount></ExtendedFields><ValStorage><General><SourcCompName>DT-0908</SourcCompName><SourcFileName>\\srv-air.rr.local\MC\MUSIC_MC Джинглы\7553.wav</SourcFileName></General><Integration><RotationEngineType dt="i4">0</RotationEngineType></Integration><ScheduleOnly><CheckVersionAfterIdNumber dt="i4">1</CheckVersionAfterIdNumber><SearchByNullVersion dt="i4">0</SearchByNullVersion></ScheduleOnly></ValStorage><AudioFormat><type dt="i4">1</type><CodecName>pcm_s16le</CodecName><FramesRate dt="d">44100</FramesRate><nChannels dt="i4">2</nChannels><sampleRate dt="i4">44100</sampleRate><bitsPerSample dt="i4">16</bitsPerSample></AudioFormat></Elem><Block><Type dt="i4">16</Type><Name>МУЗЫКА</Name><Time dt="i4">54000000</Time><Size dt="i4">600000</Size><CurId dt="i4">20767</CurId><Flags dt="i4">196608</Flags><DDB_Owner>Saransk</DDB_Owner><CasseteLengthFPS dt="i4">1</CasseteLengthFPS><NumberOfSubjects>0</NumberOfSubjects><NumberOfSbjAudioItems>0</NumberOfSbjAudioItems><BlockVersion dt="i4">0</BlockVersion><ModifyDT dt="i8">0</ModifyDT><RealBlockSize dt="i4">655580</RealBlockSize><ValStorage><GridBlockId dt="i4">75</GridBlockId><RetrChanSrc dt="s"></RetrChanSrc></ValStorage></Block></ELEM></ELEM_LIST>

Остальные пункты по аналогии с Задачей1. Отличие у них только в том, что первая задача берет исходник из интернета а вторая - из локального XML-файлика. Ну и разумеется в 1 задаче исходные поля: "title":"Hello" "artist":"Mohombi", а во второй они по другому оформлены <NAME>ЕГО МУЗЫКАЛЬНАЯ КОМПОЗИЦИЯ</NAME><ARTIST>ПРОБНЫЙ АРТИСТ</ARTIST>.

Так же есть различные блоки, именуемые по разному. В  примере встречается блок М (музыка) (<TYPE>М</TYPE>). получается так:

1. Сканирует XML-файлик и вытаскивает оттуда автора и трек (держит в буфере)

2. Если они на русском языке - переводит на транслит (держит в буфере)

3. Если название написано маленькими буквами, сохраняет все большими (пример - баста осень = BASTA OSEN) (держит в буфере)

4. После всего этого правильно формирует выходной файл. В файл добавляет дефис после автора и кавычки перед названием трека BASTA-"OSEN"(держит в буфере)

5.ЕСЛИ это музыкальный файл (<TYPE>М</TYPE>) - тогда выводит из буфера название, сгенерированное шагом ранее. ЕСЛИ другие буквы (на русском языке) - тогда вывод другого текста на запись (сообщу какой текст надо выводить - он статичный).

6. Сохраняет в одну строчку BASTA-"OSEN" в txt файл в ту же директорию, где и располагается та программа. 

7. Программа завершает свою работу и закрывается (планируется ее разместить в планировщик заданий и запускать раз в 20 секунд).

 

 

Кто нибудь готов попробовать и помочь? ))



#2 Свомпи

Свомпи

    зелёный

  • Почетный житель
  • PipPipPipPip
  • 2 535 сообщений

Отправлено 14.06.2020, 21:49

прекрасно, кто то получит зарплату, а кто то, но это не точно, еду )))))). бест оффер.


Погода была ужасная.... днём во втором часу )))))


#3 D.D.M.

D.D.M.

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 416 сообщений

Отправлено 14.06.2020, 22:16

прекрасно, кто то получит зарплату, а кто то, но это не точно, еду )))))). бест оффер.

Мне не платят за это. Я отвечаю исключительно за "железо", прогеров у нас нет. Еду или билеты (когда откроются заведения).



#4 Свомпи

Свомпи

    зелёный

  • Почетный житель
  • PipPipPipPip
  • 2 535 сообщений

Отправлено 14.06.2020, 22:26

абсолютно бесполезная потеря времени.


Погода была ужасная.... днём во втором часу )))))


#5 Spinoza

Spinoza

    Двигайся - Segway13.ru

  • Небожитель
  • PipPipPipPipPipPipPipPipPip
  • 28 036 сообщений

Отправлено 14.06.2020, 22:38

Задачка простая, жди студента, который сделает

#6 D.D.M.

D.D.M.

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 416 сообщений

Отправлено 14.06.2020, 22:40

Задачка простая, жди студента, который сделает

А такие тут появляются?))) Я думал, средний возраст форумчан 30+



#7 Spinoza

Spinoza

    Двигайся - Segway13.ru

  • Небожитель
  • PipPipPipPipPipPipPipPipPip
  • 28 036 сообщений

Отправлено 14.06.2020, 22:40

Хз, размести заодно в контакте, например

#8 k0ks

k0ks

    .

  • Почетный житель
  • 3 086 сообщений

Отправлено 14.06.2020, 22:42

Мне не платят за это.

 

Ну и забей тогда.



#9 A.G.

A.G.

    Ленивый кот

  • Почетный житель
  • 4 173 сообщений

Отправлено 14.06.2020, 22:42

На PowerShell мог бы сделать. Если до завтра никто не наваяет - сделаю ради собственного развития.

#10 D.D.M.

D.D.M.

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 416 сообщений

Отправлено 14.06.2020, 22:47

Ну и забей тогда.

Я думаю, слушателям интересно что играет в эфире. Очень часто звонят на радио и спрашивают, а что сейчас играло в эфире. А это у некоторых автолюбителей (пока не у всех, только на авто с 2014 года примерно) появится возможность прямо с экрана переписывать названия треков.


Вот что то такое появится в результате:

6d7b6d9e8196.png


На PowerShell мог бы сделать. Если до завтра никто не наваяет - сделаю ради собственного развития.

Буду очень благодарен, если сможете помочь!:)



#11 Свомпи

Свомпи

    зелёный

  • Почетный житель
  • PipPipPipPip
  • 2 535 сообщений

Отправлено 14.06.2020, 22:57

На PowerShell мог бы сделать. Если до завтра никто не наваяет - сделаю ради собственного развития.

странно, а на вашей аватаре напысано шо кот ленив. так шо либо надпысь врёт, либо конституция обновилась.


Сообщение отредактировал Свомпи: 14.06.2020, 22:58

Погода была ужасная.... днём во втором часу )))))


#12 msa_m

msa_m

    Почетный житель

  • Почетный житель
  • 1 237 сообщений

Отправлено 15.06.2020, 00:45

Задачка простая, жди студента, который сделает


Как смог понять, что задачка простая? Кодить можешь? Так помоги парню, раз задачка простая

Мне не платят за это. Я отвечаю исключительно за "железо", прогеров у нас нет. Еду или билеты (когда откроются заведения).

нах тебе это надо?Если за железо отвечаешь, и тем более за эти хотелки денег не дают. Одно дело для личных целей просить, другое дело для существующего коммерческого проекта. Наглость это

#13 Peter

Peter

    -

  • Почетный житель
  • PipPipPipPip
  • 2 160 сообщений

Отправлено 15.06.2020, 02:39

$100

Быстро, качественно.


Родители так хотели, чтобы из сына вышел толк. Толк вышел. Бестолочь осталась...
peter23.com

#14 Suleyman

Suleyman

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 052 сообщений

Отправлено 15.06.2020, 03:21

Я думаю, слушателям интересно что играет в эфире. Очень часто звонят на радио и спрашивают, а что сейчас играло в эфире

Поставьте на линию автоответчик с фразой "Шазам рулит".



#15 D.D.M.

D.D.M.

    Аксакал

  • Почетный житель
  • PipPipPipPip
  • 2 416 сообщений

Отправлено 15.06.2020, 07:09

Как смог понять, что задачка простая? Кодить можешь? Так помоги парню, раз задачка простая нах тебе это надо?Если за железо отвечаешь, и тем более за эти хотелки денег не дают. Одно дело для личных целей просить, другое дело для существующего коммерческого проекта. Наглость это

я прошу это от себя. Это мое желание "причесать" эфир и сделать радио более коммуникативным со слушателями.

$100
Быстро, качественно.

Радио сейчас переживает одно из наихудших своих времён с конца 90х. Корона практически погубила отрасль. Сейчас 100 баксов это половина зарплаты сотрудников регионального радио (у кого то и целая). Нет , средств не выделят под это..

#16 Spinoza

Spinoza

    Двигайся - Segway13.ru

  • Небожитель
  • PipPipPipPipPipPipPipPipPip
  • 28 036 сообщений

Отправлено 15.06.2020, 08:00

Как смог понять, что задачка простая?


Из текста задачи. Могу. Нет.

#17 Михaил

Михaил

    Enlightened

  • Небожитель
  • PipPipPipPipPipPip
  • 12 020 сообщений

Отправлено 15.06.2020, 09:48

Радио сейчас переживает одно из наихудших своих времён с конца 90х. Корона практически погубила отрасль. Сейчас 100 баксов это половина зарплаты сотрудников регионального радио (у кого то и целая). Нет , средств не выделят под это..

Действительно есть разница с прошлой осенью? Мне казалось, что давно рекламу перестали оплачивать в бешеных количествах, потому что отдача около нуля. Остались, наверное, только имидживые типа автосалонов и всякие "спонсор прогноза погоды ИП Пупкчин с магазином чая". А коровавирус тут разве что один месяц обосрала или два..
 


Мир, дружба, встречный иск.


#18 Ашим

Ашим

    Саксаул

  • Почетный житель
  • 3 588 сообщений

Отправлено 15.06.2020, 09:55

Да теперь лет 5 все и всё на коронавирус валить будут.

Не люблю людей и они отвечают мне взаимностью


#19 -=X-or=-

-=X-or=-

    Тро-ло-ло

  • Небожитель
  • PipPipPipPipPip
  • 9 052 сообщений

Отправлено 15.06.2020, 10:57

Я думаю, слушателям интересно что играет в эфире. Очень часто звонят на радио и спрашивают, а что сейчас играло в эфире. А это у некоторых автолюбителей (пока не у всех, только на авто с 2014 года примерно) появится возможность прямо с экрана переписывать названия треков.


Вот что то такое появится в результате:

 


Буду очень благодарен, если сможете помочь!smile.png

RDS старинный формат, на очень многих автомобиля он уже есть с лохматых годов (и в музыкальных центрах тоже). Еще до 2000 года. https://ru.wikipedia...dio_Data_System

Передатчик RDS поддерживает? Он TXT-шки хавает для передачи в эфир?



#20 A.G.

A.G.

    Ленивый кот

  • Почетный житель
  • 4 173 сообщений

Отправлено 15.06.2020, 15:11

Итак, задача 1:
-Есть ссылка, которая обновляется раз в несколько минут (https://metadataws.h...ep/current.json). В ней москвичи публикуют имя автора трека, название трека, обложку альбома и еще какую-то превьюшку. Необходимо, чтобы запускался алгоритм, который бы:
1. Вытаскивал из ссылки автора и трек (держит в буфере)
2. Если они на русском языке - переводил на транслит (держит в буфере)
3. Если название написано маленькими буквами, сохранял все большими (пример - баста осень = BASTA OSEN) (держит в буфере)
4. После всего этого правильно формирует выходной файл. В файл добавляет дефис после автора и кавычки перед названием трека BASTA-"OSEN"(держит в буфере)
5. Сохраняет в одну строчку BASTA-"OSEN" в txt файл в ту же директорию, где и располагается та программа. 
6. Программа завершает свою работу и закрывается (планируется ее разместить в планировщик заданий и запускать раз в 20 секунд).

 
 

function Translit([string]$Var)
{
  $Result = ''
  $HashTable = @{а='a';б='b';в='v';г='g';д='d';е='e';ё='yo';ж='zh';з='z';и='i';й='y';к='k';л='l';м='m';н='n';о='o';п='p';р='r';с='s';т='t';у='u';ф='f';х='h';ц='ts';ч='ch';ш='sh';щ='sch';ъ='';ы='y';ь='';э='e';ю='yu';я='ya'}
  $length = $Var.Length
  0..($length-1) |% {
    $tmp = $HashTable.([string]$Var[$_])
    $Result += $(if($tmp.Count -eq 0) { $Var[$_] } else { $tmp })
  }
  Return $Result
}

$web = New-Object System.Net.WebClient
$proxy = New-Object System.Net.WebProxy("http://адрес локального прокси сервера:порт/")
$proxy.Credentials = New-Object System.Net.NetworkCredential("логин", "пароль", "домен")
$web.proxy = $proxy
$web.Encoding = [System.Text.Encoding]::UTF8;
$content = ConvertFrom-JSON $web.DownloadString("https://metadataws.hostingradio.ru/data/ep/current.json")
$artist = (Translit($content.artist.ToLower())).ToUpper()
$title = (Translit($content.title.ToLower())).ToUpper()
Out-File -FilePath "C:\Temp\rds.txt" -Encoding UTF8 -InputObject ("$artist-`"$title`"")

 
Тестировал в Windows 7. Русскоязычного названия не дождался (но функцию выдернул из своего скрипта, создающего e-mail по фамилии сотрудника)
Если в сети не используется прокси-сервер, то нужно убрать 3 строчки, в которых встречается $proxy. Если используется - подставить адрес, порт и учётные данные.
Выходной файл C:\Temp\rds.txt в кодировке UTF8

Не понял, нужно ли сохранять данные в буфере после записи файла. В примере выше буфер обмена не используется.
 
Пример выше нужно сохранить в файл (например, c:\temp\example1.ps1)
Запуск скрипта из командной строки: powershell -File c:\temp\example1.ps1
Если при запуске из командной строки будет ругаться на политику выполнения (execution policy), то в командной строке с правами администратора нужно ввести: powershell -Command Set-ExecutionPolicy RemoteSigned


Сообщение отредактировал A.G.: 15.06.2020, 15:44





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей