add option to import newpipe subscriptions
This commit is contained in:
parent
214500e707
commit
c572662112
@ -441,12 +441,16 @@ def importdata():
|
||||
flash('No selected file')
|
||||
return redirect(request.referrer)
|
||||
if file and allowed_file(file.filename):
|
||||
importAccounts(file)
|
||||
option = request.form['import_format']
|
||||
if option == 'yotter':
|
||||
importYotterSubscriptions(file)
|
||||
elif option == 'newpipe':
|
||||
importNewPipeSubscriptions(file)
|
||||
return redirect(request.referrer)
|
||||
|
||||
return redirect(request.referrer)
|
||||
|
||||
def importAccounts(file):
|
||||
def importYotterSubscriptions(file):
|
||||
filename = secure_filename(file.filename)
|
||||
data = json.load(file)
|
||||
for acc in data['twitter']:
|
||||
@ -455,6 +459,12 @@ def importAccounts(file):
|
||||
for acc in data['youtube']:
|
||||
r = followYoutubeChannel(acc['channelId'])
|
||||
|
||||
def importNewPipeSubscriptions(file):
|
||||
filename = secure_filename(file.filename)
|
||||
data = json.load(file)
|
||||
for acc in data['subscriptions']:
|
||||
r = followYoutubeChannel(re.search('(UC[a-zA-Z0-9_-]{22})|(?<=user\/)[a-zA-Z0-9_-]+', acc['url']).group())
|
||||
|
||||
def allowed_file(filename):
|
||||
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
||||
|
||||
|
@ -40,7 +40,14 @@
|
||||
<form action = "{{ url_for('importdata') }}" method = "POST" enctype = "multipart/form-data">
|
||||
<input type = "file" name = "file"/>
|
||||
<input type = "submit"/>
|
||||
</form>
|
||||
<br>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="import_format" id="yotter" value="yotter" checked> Yotter
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="import_format" id="newpipe" value="newpipe"> NewPipe
|
||||
</label>
|
||||
</form>
|
||||
<div class="description">Import from JSON export.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user