Archive

Posts Tagged ‘loop’

loop a youtube video

January 28, 2017 Leave a comment

Problem
You find an awesome music video and you want to play it in an infinite loop.

Solution
You need to re-format the youtube URL a bit. Sample:

Input: https://www.youtube.com/watch?v=VIDEO_ID

Output: http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID

Concrete example: input, output.

Tip from here.

Open URLs in browser tabs simultaneously

March 9, 2011 Leave a comment

Problem

From Python, you can easily open URLs in Firefox tabs:

#!/usr/bin/env python

# open_in_tabs.py

import webbrowser
import sys

firefox = webbrowser.get('firefox')

for url in sys.stdin.readlines():
    url = url.rstrip("\n")
    firefox.open_new_tab(url)

This script reads URLs from the standard input and opens them in separated tabs. Usage:

cat url_list.txt | ./open_in_tabs.py

Where url_list.txt contains one URL per line.

It’s all very nice, but… The script will open the URLs one by one, which can be very slow (especially if you want to open several URLs). Would it be possible to open the URLs in tabs at the same time? That is, tell Firefox to assign a thread to each tab and process them simultaneously.

Solution

I found the solution in this thread. I won’t provide a source code, just sketch the idea:

  • If Firefox is not running yet, open the first URL with “firefox -new-window URL“. Do it with an external call.
  • For the rest of the URLs, open them with “firefox -new-tab URL“.

Demonstration:
Here I suppose you have a running Firefox instance.

cat url_list.txt | while read i; do firefox -new-tab $i; done

Useful links

Related posts

In the post “Extract all links from a web page“, I show an interesting usage of the script open_in_tabs.py. Links of a web page are extracted with another script, and the extracted links are opened in Firefox tabs with open_in_tabs.py. All that is done in one line using pipes. Example:

./get_links.py http://www.beach-hotties.com/ | grep -i jpg | ./open_in_tabs.py

Update (20110507)

The script is updated, now it can open tabs simultaneously too. Also, it can open links in a new window. See the source here.

Categories: bash, firefox, python Tags: , ,

Download all issues of Full Circle Magazine

January 27, 2011 5 comments

Problem

You want to get all the issues of Full Circle Magazine but you don’t want to download ’em one by one. Is there an easy and painless way to get them in a bundle?

Solution

Here are the necessary URLs till issue 47:

http://dl.fullcirclemagazine.org/issue0_en.pdf
http://dl.fullcirclemagazine.org/issue1_en.pdf
http://dl.fullcirclemagazine.org/issue2_en.pdf
http://dl.fullcirclemagazine.org/issue3_en.pdf
http://dl.fullcirclemagazine.org/issue4_en.pdf
http://dl.fullcirclemagazine.org/issue5_en.pdf
http://dl.fullcirclemagazine.org/issue6_en.pdf
http://dl.fullcirclemagazine.org/issue7_en.pdf
http://dl.fullcirclemagazine.org/issue8_en.pdf
http://dl.fullcirclemagazine.org/issue9_en.pdf
http://dl.fullcirclemagazine.org/issue10_en.pdf
http://dl.fullcirclemagazine.org/issue11_en.pdf
http://dl.fullcirclemagazine.org/issue12_en.pdf
http://dl.fullcirclemagazine.org/issue13_en.pdf
http://dl.fullcirclemagazine.org/issue14_en.pdf
http://dl.fullcirclemagazine.org/issue15_en.pdf
http://dl.fullcirclemagazine.org/issue16_en.pdf
http://dl.fullcirclemagazine.org/issue17_en.pdf
http://dl.fullcirclemagazine.org/issue18_en.pdf
http://dl.fullcirclemagazine.org/issue19_en.pdf
http://dl.fullcirclemagazine.org/issue20_en.pdf
http://dl.fullcirclemagazine.org/issue21_en.pdf
http://dl.fullcirclemagazine.org/issue22_en.pdf
http://dl.fullcirclemagazine.org/issue23_en.pdf
http://dl.fullcirclemagazine.org/issue24_en.pdf
http://dl.fullcirclemagazine.org/issue25_en.pdf
http://dl.fullcirclemagazine.org/issue26_en.pdf
http://dl.fullcirclemagazine.org/issue27_en.pdf
http://test.fullcirclemagazine.org/wp-content/uploads/2009/08/fullcircle-issue28-eng1.pdf
http://dl.fullcirclemagazine.org/issue29_en.pdf
http://dl.fullcirclemagazine.org/issue30_en.pdf
http://dl.fullcirclemagazine.org/issue31_en.pdf
http://dl.fullcirclemagazine.org/issue32_en.pdf
http://dl.fullcirclemagazine.org/issue33_en.pdf
http://dl.fullcirclemagazine.org/issue34_en.pdf
http://dl.fullcirclemagazine.org/issue35_en.pdf
http://dl.fullcirclemagazine.org/issue36_en.pdf
http://dl.fullcirclemagazine.org/issue37_en.pdf
http://dl.fullcirclemagazine.org/issue38_en.pdf
http://dl.fullcirclemagazine.org/issue39_en.pdf
http://dl.fullcirclemagazine.org/issue40_en.pdf
http://dl.fullcirclemagazine.org/issue41_en.pdf
http://dl.fullcirclemagazine.org/issue42_en.pdf
http://dl.fullcirclemagazine.org/issue43_en.pdf
http://dl.fullcirclemagazine.org/issue44_en.pdf
http://dl.fullcirclemagazine.org/issue45_en.pdf
http://dl.fullcirclemagazine.org/issue46_en.pdf
http://dl.fullcirclemagazine.org/issue47_en.pdf

Save it to a file called down.txt, then download them all:

wget -i down.txt

Update (20110130) #1:

Unfortunately, issues below 10 are named as issueX_en.pdf and not as issue0X_en.pdf. Thus, if you download all the files and list them with ‘ls -al‘, issues < 10 will be mixed with the others. Here is how to fix it:

rename -n 's/issue(\d)_en(.*)/issue0$1_en$2/' *.pdf

It will just print the renames (without executing them). If the result is OK, remove the ‘-n‘ switch and execute the command again. Now the files will be renamed in order.

Update (20110130) #2:

This post was taken over by Ubuntu Life, and the user Capitán suggested an easier solution in a comment over there:

wget http://dl.fullcirclemagazine.org/issue{0..45}_en.pdf

I didn’t know about this wget feature :) Now I see why issues < 10 are named as issueX_en.pdf and not as issue0X_en.pdf

Update (20110203): That {0..45} thing is actually expanded by bash, not by wget! See this post for more info.

Update (20110130) #3:

Another reader of Ubuntu Life, marco, suggests a bash script solution:

for i in {0..45}
do 
wget http://dl.fullcirclemagazine.org/issue${i}_en.pdf; 
done

Or, in one line:

for i in {0..45}; do wget http://dl.fullcirclemagazine.org/issue${i}_en.pdf; done