-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
484 changed files
with
30,618 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/sh | ||
[ -f "${1}" ] && ok=cat | ||
${ok:-echo} "${1:-`cat -`}" | curl -fsLF file='@-' 'http://0x0.st' \ | ||
| tr -d "\n" \ | ||
| xclip -in -sel clip && \ | ||
notify-send -t 900 -u low "File link copied to clipboard!" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/usr/bin/python | ||
# -*- coding: utf-8 -*- | ||
import re | ||
import sys | ||
from cmd_2to3.__main__ import main | ||
if __name__ == '__main__': | ||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) | ||
sys.exit(main()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
#!/bin/python3 | ||
|
||
from math import * | ||
|
||
# def func(x): | ||
|
||
# Prints root of func(x) | ||
# with error of EPSILON | ||
def bisection(a,b): | ||
func = eval("lambda x:"+input("enter expression in python syntax, write math functions as func() , like exp(), tan(). \n")) | ||
if (func(a) * func(b) >= 0): | ||
print("You have not assumed right a and b\n") | ||
return | ||
|
||
c = a | ||
counter = 0 | ||
print("n\t a\t\t f(a)\t\t b\t"+" "+"\tf(b)\t\t c=(a+b)/2\t f(c)\t\tupdate") | ||
while ((b-a) >= 0.00001): | ||
|
||
# Find middle point | ||
c = (a+b)/2 | ||
update="" | ||
# Check if middle point is root | ||
if (func(c) == 0.0): | ||
break | ||
|
||
# Decide the side to repeat the steps | ||
if (func(c)*func(a) < 0): | ||
b = c | ||
update = "b = c" | ||
else: | ||
a = c | ||
update = "a = c" | ||
counter +=1 | ||
print(counter,"\t",'%.5f'%a,"\t",'%.5f'%func(a),"\t",'%.5f'%b,"\t",'%.5f'%func(b),"\t",'%.5f'%c,"\t",'%.5f'%func(c),"\t",update) | ||
|
||
print("The value of root is : ","%.4f"%c) | ||
|
||
|
||
|
||
def main(): | ||
print("Starting") | ||
a , b = map(int, input("enter a b :").split()) | ||
bisection(a, b) | ||
|
||
|
||
|
||
if __name__ == "__main__": | ||
main() | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
#!/bin/sh | ||
|
||
# dependencies: sed curl mpv | ||
|
||
prog="ani-cli" | ||
|
||
c_red="\033[1;31m" | ||
c_green="\033[1;32m" | ||
c_yellow="\033[1;33m" | ||
c_blue="\033[1;34m" | ||
c_magenta="\033[1;35m" | ||
c_cyan="\033[1;36m" | ||
c_reset="\033[0m" | ||
|
||
|
||
help_text () { | ||
while IFS= read line; do | ||
printf "%s\n" "$line" | ||
done <<-EOF | ||
USAGE: $prog <query> | ||
-h show this help text | ||
-d download episode | ||
EOF | ||
} | ||
|
||
|
||
die () { | ||
printf "$c_red%s$c_reset\n" "$*" >&1 | ||
exit 1 | ||
} | ||
|
||
search_anime () { | ||
# get anime name along with its id | ||
search=$1 | ||
titlepattern='<a href="/category/' | ||
|
||
curl -s "https://gogoanime.vc//search.html" \ | ||
-G \ | ||
-d "keyword=$search" | | ||
sed -n -E ' | ||
#<a href="/category/one-punch-man" title="One Punch Man"> | ||
s_^[[:space:]]*<a href="/category/([^"]*)" title="([^"]*)".*_\1_p | ||
' | ||
} | ||
|
||
search_eps () { | ||
# get available episodes for anime_id | ||
anime_id=$1 | ||
|
||
curl -s "https://gogoanime.vc/category/$anime_id" | | ||
sed -n -E ' | ||
/^[[:space:]]*<a href="#" class="active" ep_start/{ | ||
s/.* '\''([0-9]*)'\'' ep_end = '\''([0-9]*)'\''.*/\2/p | ||
q | ||
} | ||
' | ||
} | ||
|
||
get_links () { | ||
# get the download page url | ||
anime_id=$1 | ||
ep_no=$2 | ||
|
||
dpage_url=$( | ||
curl -s "https://gogoanime.vc/$anime_id-episode-$ep_no" | | ||
sed -n -E ' | ||
/^[[:space:]]*<li class="dowloads">/{ | ||
s/.*href="([^"]*)".*/\1/p | ||
q | ||
}') | ||
|
||
curl -s "$dpage_url" | | ||
sed -n -E ' | ||
/^[[:space:]]*href="([^"]*\.mp4)".*/{ | ||
s/^[[:space:]]*href="([^"]*\.mp4)".*/\1/p | ||
q | ||
} | ||
' | ||
} | ||
|
||
##################### | ||
## Anime selection ## | ||
##################### | ||
|
||
is_download=0 | ||
|
||
while getopts 'hd' OPT; do | ||
case $OPT in | ||
h) | ||
help_text | ||
exit 0 | ||
;; | ||
d) | ||
is_download=1 | ||
;; | ||
esac | ||
done | ||
|
||
shift $((OPTIND - 1)) | ||
|
||
[ -z "$*" ] && { help_text ; die "Search query not provided"; } | ||
|
||
query="$*" | ||
search_results=$(search_anime "$query") | ||
|
||
[ -z "$search_results" ] && die "No search results found" | ||
|
||
# Creating menu | ||
|
||
menu_format_string='[%d] %s\n' | ||
menu_format_string_c1="$c_blue[$c_cyan%d$c_blue] $c_reset%s\n" | ||
menu_format_string_c2="$c_blue[$c_cyan%d$c_blue] $c_yellow%s$c_reset\n" | ||
|
||
count=1 | ||
while read anime_id; do | ||
# alternating colors for menu | ||
[ $((count % 2)) -eq 0 ] && | ||
menu_format_string=$menu_format_string_c1 || | ||
menu_format_string=$menu_format_string_c2 | ||
|
||
printf "$menu_format_string" "$count" "$anime_id" | ||
count=$((count+1)) | ||
done <<EOF | ||
$search_results | ||
EOF | ||
|
||
# User input | ||
printf "$c_blue%s$c_green" "Enter number: " | ||
read choice | ||
printf "$c_reset" | ||
|
||
# Check if input is a number | ||
[ "$choice" -eq "$choice" ] 2>/dev/null || die "Invalid number entered" | ||
|
||
# Select respective anime_id | ||
count=1 | ||
while read anime_id; do | ||
if [ $count -eq $choice ]; then | ||
selection_id=$anime_id | ||
break | ||
fi | ||
count=$((count+1)) | ||
done <<EOF | ||
$search_results | ||
EOF | ||
|
||
[ -z "$selection_id" ] && die "Invalid number entered" | ||
|
||
################## | ||
## Ep selection ## | ||
################## | ||
read last_ep_number <<EOF | ||
$(search_eps "$selection_id") | ||
EOF | ||
|
||
printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " $last_ep_number | ||
read ep_choice | ||
printf "$c_reset" | ||
|
||
[ "$choice" -eq "$choice" ] 2>/dev/null || die "Invalid number entered" | ||
|
||
|
||
while :; do | ||
|
||
if [ $ep_choice -lt 1 ] || [ $ep_choice -gt $last_ep_number ]; then | ||
die "Episode out of range" | ||
fi | ||
|
||
printf "Getting data for episode %d\n" $ep_choice | ||
|
||
video_url=$(get_links "$selection_id" "$ep_choice") | ||
|
||
case $video_url in | ||
*streamtape*) | ||
# If direct download not available then scrape streamtape.com | ||
BROWSER=${BROWSER:-firefox} | ||
printf "scraping streamtape.com\n" | ||
video_url=$(curl -s "$video_url" | sed -n -E ' | ||
/^<script>document/{ | ||
s/^[^"]*"([^"]*)" \+ '\''([^'\'']*).*/https:\1\2\&dl=1/p | ||
q | ||
} | ||
');; | ||
esac | ||
|
||
if [ $is_download -eq 0 ]; then | ||
setsid -f mpv "$video_url" >/dev/null 2>&1 | ||
else | ||
printf "Downloading episode $ep_choice ...\n" | ||
printf "%s\n" "$video_url" | ||
{ | ||
curl -L -# "$video_url" -o "${anime_id}-${ep_choice}.mp4" && | ||
printf "\n${c_green}Downloaded episode: %s${c_reset}\n" "$ep_choice" || | ||
printf "\n${c_red}Download failed episode: %s${c_reset}\n" "$ep_choice" | ||
} | ||
fi | ||
|
||
printf "\n${c_green}Currently playing %s episode ${c_cyan}%d/%d\n" "$selection_id" $ep_choice $last_ep_number | ||
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "n" "next episode" | ||
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "p" "previous episode" | ||
printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit" | ||
printf "${c_blue}Enter choice:${c_green} " | ||
read choice | ||
printf "$c_reset" | ||
case $choice in | ||
n) | ||
ep_choice=$((ep_choice+1)) | ||
;; | ||
p) | ||
ep_choice=$((ep_choice-1)) | ||
;; | ||
q) | ||
break;; | ||
*) | ||
die "invalid choice" | ||
;; | ||
esac | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/bash | ||
find ~/Music/aot/ -type f | shuf | xargs -r mpv --no-audio-display |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash | ||
|
||
xdotool search --sync 10 --limit 1 --class Rofi keyup --delay 0 Tab key --delay 0 Tab & | ||
|
||
rofi \ | ||
-theme ~/.config/rofi/Iceburg.rasi \ | ||
-show window -show-icons -window-thumbnail \ | ||
-kb-cancel "Alt+Escape,Escape" \ | ||
-kb-accept-entry "!Alt-Tab,!Alt+Right,!Alt+Left,Return"\ | ||
-kb-row-down "Alt+Tab,Alt+Right" \ | ||
-kb-row-up "Alt+Shift+Tab,Alt+Left" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/usr/bin/python | ||
# -*- coding: utf-8 -*- | ||
import re | ||
import sys | ||
from autopep8 import main | ||
if __name__ == '__main__': | ||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) | ||
sys.exit(main()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#!/bin/bash | ||
# | ||
# double borders | ||
# | ||
|
||
outer='0x131313' # outer | ||
inner1='0xc49ec4' # focused | ||
inner2='0x4c4c4c' # normal | ||
|
||
trap 'bspc config border_width 0; kill -9 -$$' INT TERM | ||
|
||
targets() { | ||
case $1 in | ||
focused) bspc query -N -n .local.focused.\!fullscreen;; | ||
normal) bspc query -N -n .\!focused.\!fullscreen | ||
esac #| grep -iv "$v" | ||
} | ||
bspc config border_width 6 | ||
|
||
draw() { chwb2 -I "$inner" -O "$outer" -i "2" -o "4" $*; } | ||
|
||
# initial draw, and then subscribe to events | ||
{ echo; bspc subscribe node_geometry node_focus; } | | ||
while read -r _; do | ||
#v=$(echo $(xdo id -N Firefox)) | ||
#v=${v// /\\|} | ||
[ "$v" ] || v='abcdefg' | ||
inner=$inner1 draw $(targets focused) | ||
inner=$inner2 draw $(targets normal) | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#!/bin/bash | ||
# Tiny colored fetch script | ||
# Requires Typicons Font to display the icons | ||
# elenapan @ github | ||
|
||
f=3 b=4 | ||
for j in f b; do | ||
for i in {0..7}; do | ||
printf -v $j$i %b "\e[${!j}${i}m" | ||
done | ||
done | ||
d=$'\e[1m' | ||
t=$'\e[0m' | ||
v=$'\e[7m' | ||
|
||
# Items | ||
sep= | ||
s=$d$f0$sep$t | ||
|
||
h= | ||
wmname="$(xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t | grep "WM_NAME" | cut -f2 -d \")" | ||
|
||
k= | ||
kernel="$(uname -r | cut -d '-' -f1)" | ||
|
||
sh= | ||
shell=$(basename $SHELL) | ||
|
||
# (\ /) | ||
# ( · ·) | ||
# c(")(") | ||
|
||
# (\ /) | ||
# ( . .) | ||
# c(")(") | ||
|
||
tput clear | ||
cat << EOF | ||
(\ /) $f3$k $t$kernel | ||
( $d. .$t) $f1$h $t$wmname | ||
c($f1"$t)($f1"$t) $f2$sh $t$shell | ||
EOF |
Oops, something went wrong.