~mhysterio/sintel-media/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#!/bin/bash
# This file is part of Sintel.
#
# Sintel is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sintel is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Sintel.  If not, see <https://www.gnu.org/licenses/>.
#
#
#Mover el puntero de serie
#El puntero permite saber por qué episodio nos llegamos.
#Moverlo es crucial para decirle al sistema cuál es el siguiente episodio que tenemos pendiente

function head.info() {
    echo "head - Puntero de series"
    echo
    echo "Funciones que ayudan a gestionar por qué eisodio"
    echo "nos llegamos de una serie."
}

function head.reset() {
    [[ $# != 1 ]] && ( die $(iargs 1 "id") )
	local idmedio="$1"

	db.executeUpdate "update episodio set esvisto = 0 where idmedio = $idmedio"
}

function head.reset.info() {
    echo "head.reset - Mueve el puntero de una serie al principio."
    echo
    echo -e "\tArgumentos: idmedio"
    echo
    echo "Tanto las películas como las series se almacenan en la tabla medio."
    echo "A cada nuevo medio se le asigna un identificador numérico. Ese es el"
    echo "idmedio."
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -f head.reset:871"
    echo -e "\tsintel -f head.reset:221"
}

function head.markall() {
    [[ $# != 1 ]] && ( die $(iargs 1 "id") )
	local idmedio="$1"

	db.executeUpdate "update episodio set esvisto = 1 where idmedio = $idmedio"
}

function head.markall.info() {
    echo "head.markall - Marcar todos los episodios de una serie como vistos."
    echo
    echo -e "\tArgumentos: idmedio"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -f head.markall:871"
}

function head.resetTemporada() {
    [[ $# != 2 ]] && ( die $(iargs 2 "id y temporada") )
    
	local idmedio="$1"
	local temporada="$2"

	db.executeUpdate "update episodio set esvisto = 0 where idmedio = $idmedio and temporada = $temporada"
}

function head.resetTemporada.info() {
    echo "head.resetTemporada - Marcar temporada de una serie como no vista."
    echo
    echo -e "\tArgumentos: idmedio, temporada"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -n head.resetTemporada:\"871|10\""
}

function head.markTemporada() {
    [[ $# != 2 ]] && ( die $(iargs 2 "id y temporada") )
    
	local idmedio="$1"
	local temporada="$2"

	db.executeUpdate "update episodio set esvisto = 1 where idmedio = $idmedio and temporada = $temporada"
}

function head.markTemporada.info() {
    echo "head.markTemporada - Marcar temporada de una serie como vista."
    echo
    echo -e "\tArgumentos: idmedio, temporada"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -n head.markTemporada:\"871:10\""
}

function head.forth() {
    [[ $# != 1 ]] && ( die $(iargs 1 "id") )
	local idmedio="$1"

	#echo "Idmedio: $idmedio" > /dev/tty
	local t=$(db.executeQuery "select min(temporada) from episodio where idmedio=$idmedio and esvisto=0")
	#echo "Temporada: $t" > /dev/tty
	local id=$(db.executeQuery "select min(id) from episodio where idmedio = $idmedio and temporada = $t and esvisto = 0")
	db.executeUpdate "update episodio set esvisto = 1 where id = $id"
}

function head.forth.info() {
    echo "head.forth - Avanzar el puntero de la serie al siguiente episodio."
    echo
    echo -e "\tArgumentos: idmedio"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -f head.forth:871"
}

function head.back() {
    [[ $# != 1 ]] && ( die $(iargs 1 "id") )
	local idmedio="$1"

	local t=$(db.executeQuery "select max(temporada) from episodio where idmedio=$idmedio and esvisto>0")
	local id=$(db.executeQuery "select max(id) from episodio where idmedio = $idmedio and temporada = $t and esvisto > 0")
	db.executeUpdate "update episodio set esvisto = 0 where id = $id"
}

function head.back.info() {
    echo "head.back - Retroceder el puntero de la serie al episodio anterior."
    echo
    echo -e "\tArgumentos: idmedio"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -f head.back:871"
}

function head.resetN() {
    [[ $# != 2 ]] && ( die $(iargs 2 "id y número") )
    
	local idmedio="$1"
	local n="$2"
	
	while [[ $n > 0 ]]; do
		head.back $idmedio
		(( n-- ))
	done
}

function head.resetN.info() {
    echo "head.resetN - Mover el puntero de la serie N veces hacia atrás."
    echo
    echo -e "\tArgumentos: idmedio, N (número de veces)"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -n head.resetN:\"871|5\""
}

function head.markN() {
    [[ $# != 2 ]] && ( die $(iargs 2 "id y número") )
    
	local idmedio="$1"
	local n="$2"

	while [[ $n > 0 ]]; do
		head.forth $idmedio
		(( n-- ))
	done
}

function head.markN.info() {
    echo "head.markN - Mover el puntero de la serie N veces hacia delante."
    echo
    echo -e "\tArgumentos: idmedio, N (número de veces)"
    echo ""
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -n head.markN:\"871:5\""
}

function head.next() {
    [[ $# != 1 ]] && ( die $(iargs 1 "id") )
	local idmedio="$1"

	local t=$(db.executeQuery "select min(temporada) from episodio where idmedio=$idmedio and esvisto=0")

	if [[ "$t" == "" ]]; then
		echo "-1"
		exit
	fi
	
	local id=$(db.executeQuery "select min(id) from episodio where idmedio = $idmedio and temporada = $t and esvisto = 0")
	#echo "head.next Next: $id" > /dev/tty

	if [[ "$id" == "" ]]; then
		echo "-1"
	else
		echo "$id"
	fi
}

function head.next.info() {
    echo "head.next - Avanzar el puntero de la serie un episodio."
    echo
    echo -e "\tArgumentos: idmedio"
    echo
    echo "Ejemplos:"
    echo -e "\tsintel -f head.next:871"
}