Skip to main content

command line internet radio grabber with listen capabilities

Project description

command line internet radio grabber with listen capabilities

Info

It must be deployed as a Python package.
The package can be called on commandline $ ghettorecorder directly.
GhettoRecorder folder can be copied elsewhere, run ghetto_recorder.py from there.

Multiple menu options are available:
* Custom save path (written to config)
* Title blacklist (written to config)
* Store config file elsewhere
* Repair of aac files https://aacrepair.readthedocs.io/

Configuration File

‘Settings.ini’ is the config file for GhettoRecorder. INI files consist of sections to divide different settings.

[STATIONS] is used for radio connection information
anime_jp = http://streamingv2.shoutcast.com/japanimradio-tokyo
[GLOBAL] stores blacklist status and the parent save directory location
blacklist_enable = True
save_to_dir = f:\31

Usage

Record Menu

0   >> aacchill             <<
1   >> 80ies_nl             <<
2   >> anime_jp             <<
3   >> blues_uk             <<
4   >> br24                 <<
...
Enter to record -->:
Write the leading Number (list index) into the input field . Hit ‘Enter’.
OR
Write or copy/paste the radio name into the input field. Hit ‘Enter’.
Add as many radios as you like.
Hit ‘Enter’ without input to start grabbing.
Listen to the first selected radio via local streaming http://localhost:1242/

Change parent record path Menu

option 'Change record parent path'
1 -- New parent path for recorded radios. Write to config.
2 -- Back to Main Menu
Enter your choice: 1

    Write a new path to store files
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
Enter a new path, OS syntax (f:\10 or /home ) -->:

The default path is the directory of the module. In most cases you want to store grabbed files somewhere else.

Blacklist Menu

Write a new blacklist option to settings.ini file
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
1 -- blacklist on (don't write title if already downloaded)
2 -- blacklist off
3 -- Back to Main Menu
Enter your choice: 1

    blacklist is ON: settings.ini file
    Existing titles are not recorded again and again.
file name is "blacklist.json" in the same folder as "settings.ini"
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
Hit Enter to leave -->:
Blacklist writing can be switched on/off.
Titles are listed for each of the radios and can be deleted to ‘unlist’ them.
File name is blacklist.json and always in the same folder as ‘settings.ini’.

Set path to config

Write Path to settings.ini and blacklist.json file
Enter a new path, OS syntax (f:\10 or /home ) -->: F:\44
    created: F:\44
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True'}
Hit Enter to leave -->:
You can store your config file ‘settings.ini’ somewhere on the file system.
Default place for grabbed files is the mentioned folder.
If a custom save path is written to config, this path is used.

aac file repair

Write a path to aac files. Only aac files will be touched.
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
Enter a path, OS syntax (f:\10 or /home ) -->:f:\6aac
    created: f:\6aac
    f:\6aac\aac_repair created
[ COPY(s) in f:\6aac\aac_repair ]
----- 1 file(s) failed -----
f:\6aac\Sergey Sirotin & Golden Light Orchestra - Around The World.aacp
ValueError non-hexadecimal number found in fromhex() arg at position 5438113
----- 97 file(s) repaired -----
f:\6aac\111_Slovo_Original_Mix.aac; cut(bytes): [330]
f:\6aac\351 Lake Shore Drive - You Make My Day.aacp; cut(bytes): [389]
The repair option uses a folder name as input.
Repaired files are stored in ‘aac_repair’ sub folder.
Cut bytes count is shown at the end of the line.
Repair can fail if the file is corrupted not only at start or end.

Pip Install

""" Linux """
$ pip3 install ghettorecorder

""" Windows """
> pip install ghettorecorder

Uninstall

Python user

  • find the module location

  • uninstall and then remove remnants

remove:

>$ pip3 show ghettorecorder
>$ pip3 uninstall ghettorecorder

Location: … /python310/site-packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

GhettoRecorder-2.4.4.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

GhettoRecorder-2.4.4-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file GhettoRecorder-2.4.4.tar.gz.

File metadata

  • Download URL: GhettoRecorder-2.4.4.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.3

File hashes

Hashes for GhettoRecorder-2.4.4.tar.gz
Algorithm Hash digest
SHA256 c33c1dbc7a069b1a9ca8a5716d6b385b1fe045c011d3d94b9fb103516a1ec37a
MD5 e4a0f318fd757c8708e5ac0affc34c7a
BLAKE2b-256 0e42ad04e748e4a62de690d03c917405fde0bc01ef01585c89e9dd72bce7894d

See more details on using hashes here.

File details

Details for the file GhettoRecorder-2.4.4-py3-none-any.whl.

File metadata

  • Download URL: GhettoRecorder-2.4.4-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.3

File hashes

Hashes for GhettoRecorder-2.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b2de4de7a915c5516a12f7e4d6c3c957fad8f6120a902625c18875c06775a85b
MD5 aaad2b15ed0af7695d877151a5cff7f0
BLAKE2b-256 13cafc8858726edbebcc01cd56bff715ebfe96dce5290d5e1357abe335f51c4d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page