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.3.tar.gz (49.9 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: GhettoRecorder-2.4.3.tar.gz
  • Upload date:
  • Size: 49.9 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.3.tar.gz
Algorithm Hash digest
SHA256 35071a68f77d895db2aab2e9659cbe1a1de7f0e62bd0d838a0aa1e25c5a34d96
MD5 f3a2d24156ed0f3788fcbf3180cadda6
BLAKE2b-256 8579f94a16ed3691d3790bb50bb9e17279c367c5d4a925ef6686e3f002fc996e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: GhettoRecorder-2.4.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7cfa058d446818ee628c27d2cff1e87bb2257da800a7f0d4799ef26db7cd3503
MD5 6f50ae87021228a505c821b2e9d14247
BLAKE2b-256 d40cc43893ed27ef83360c322a055f0a543d2527ec0f1380cff42124a9d0c220

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