diff --git a/Kyoo/ClientApp/src/app/app.component.html b/Kyoo/ClientApp/src/app/app.component.html
index e71d5ce2..5e641f4a 100644
--- a/Kyoo/ClientApp/src/app/app.component.html
+++ b/Kyoo/ClientApp/src/app/app.component.html
@@ -1,10 +1,8 @@
-
+
+
+
+
diff --git a/Kyoo/ClientApp/src/app/app.module.ts b/Kyoo/ClientApp/src/app/app.module.ts
index cecddedb..d31e85cd 100644
--- a/Kyoo/ClientApp/src/app/app.module.ts
+++ b/Kyoo/ClientApp/src/app/app.module.ts
@@ -5,7 +5,6 @@ import { HttpClientModule } from '@angular/common/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
-import { NavMenuComponent } from './nav-menu/nav-menu.component';
import { HomeComponent } from './home/home.component';
import { CounterComponent } from './counter/counter.component';
import { FetchDataComponent } from './fetch-data/fetch-data.component';
@@ -13,7 +12,6 @@ import { FetchDataComponent } from './fetch-data/fetch-data.component';
@NgModule({
declarations: [
AppComponent,
- NavMenuComponent,
HomeComponent,
CounterComponent,
FetchDataComponent
diff --git a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.css b/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.css
deleted file mode 100644
index e15c6128..00000000
--- a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.css
+++ /dev/null
@@ -1,59 +0,0 @@
-li .glyphicon {
- margin-right: 10px;
-}
-
-/* Highlighting rules for nav menu items */
-li.link-active a,
-li.link-active a:hover,
-li.link-active a:focus {
- background-color: #4189C7;
- color: white;
-}
-
-/* Keep the nav menu independent of scrolling and on top of other items */
-.main-nav {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 1;
-}
-
-@media (min-width: 768px) {
- /* On small screens, convert the nav menu to a vertical sidebar */
- .main-nav {
- height: 100%;
- width: calc(25% - 20px);
- }
- .navbar {
- border-radius: 0px;
- border-width: 0px;
- height: 100%;
- }
- .navbar-header {
- float: none;
- }
- .navbar-collapse {
- border-top: 1px solid #444;
- padding: 0px;
- }
- .navbar ul {
- float: none;
- }
- .navbar li {
- float: none;
- font-size: 15px;
- margin: 6px;
- }
- .navbar li a {
- padding: 10px 16px;
- border-radius: 4px;
- }
- .navbar a {
- /* If a menu item's text is too long, truncate it */
- width: 100%;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-}
diff --git a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.html b/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.html
deleted file mode 100644
index b48b8e4a..00000000
--- a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
diff --git a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.ts b/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.ts
deleted file mode 100644
index 327a3743..00000000
--- a/Kyoo/ClientApp/src/app/nav-menu/nav-menu.component.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-nav-menu',
- templateUrl: './nav-menu.component.html',
- styleUrls: ['./nav-menu.component.css']
-})
-export class NavMenuComponent {
- isExpanded = false;
-
- collapse() {
- this.isExpanded = false;
- }
-
- toggle() {
- this.isExpanded = !this.isExpanded;
- }
-}
diff --git a/Kyoo/InternalAPI/Crawler/Crawler.cs b/Kyoo/InternalAPI/Crawler/Crawler.cs
index 524650ff..1444cb68 100644
--- a/Kyoo/InternalAPI/Crawler/Crawler.cs
+++ b/Kyoo/InternalAPI/Crawler/Crawler.cs
@@ -48,8 +48,6 @@ namespace Kyoo.InternalAPI
{
if(IsVideo(file) && !libraryManager.IsEpisodeRegistered(file))
{
- Debug.WriteLine("&Should insert this: " + file);
-
string patern = config.GetValue("regex");
Regex regex = new Regex(patern, RegexOptions.IgnoreCase);
Match match = regex.Match(file);
@@ -59,12 +57,9 @@ namespace Kyoo.InternalAPI
bool seasonSuccess = long.TryParse(match.Groups["Season"].Value, out long seasonNumber);
bool episodeSucess = long.TryParse(match.Groups["Episode"].Value, out long episodeNumber);
- Debug.WriteLine("&ShowPath: " + showPath + " Show: " + showName + " season: " + seasonNumber + " episode: " + episodeNumber);
-
string showProviderIDs;
if (!libraryManager.IsShowRegistered(showPath, out long showID))
{
- Debug.WriteLine("&Should register show: " + showName);
Show show = await metadataProvider.GetShowFromName(showName, showPath);
showProviderIDs = show.ExternalIDs;
showID = libraryManager.RegisterShow(show);
@@ -72,18 +67,13 @@ namespace Kyoo.InternalAPI
else
showProviderIDs = libraryManager.GetShowExternalIDs(showID);
- Debug.WriteLine("&Show ID: " + showID);
-
if(!libraryManager.IsSeasonRegistered(showID, seasonNumber, out long seasonID))
{
- Debug.WriteLine("&Should register season: " + showName + " - " + seasonNumber);
Season season = await metadataProvider.GetSeason(showName, seasonNumber);
season.ShowID = showID;
- showID = libraryManager.RegisterSeason(season);
+ seasonID = libraryManager.RegisterSeason(season);
}
- Debug.WriteLine("&Season ID: " + seasonID);
-
Episode episode = await metadataProvider.GetEpisode(showProviderIDs, seasonNumber, episodeNumber);
episode.ShowID = showID;
episode.SeasonID = seasonID;
diff --git a/Kyoo/InternalAPI/LibraryManager/LibraryManager.cs b/Kyoo/InternalAPI/LibraryManager/LibraryManager.cs
index 7961a1f0..214c4144 100644
--- a/Kyoo/InternalAPI/LibraryManager/LibraryManager.cs
+++ b/Kyoo/InternalAPI/LibraryManager/LibraryManager.cs
@@ -261,7 +261,6 @@ namespace Kyoo.InternalAPI
public long RegisterShow(Show show)
{
string query = "INSERT INTO shows (slug, title, aliases, path, overview, genres, startYear, endYear, imgPrimary, imgThumb, imgLogo, imgBackdrop, externalIDs) VALUES($slug, $title, $aliases, $path, $overview, $genres, $startYear, $endYear, $imgPrimary, $imgThumb, $imgLogo, $imgBackdrop, $externalIDs);";
- Debug.WriteLine("&SQL QUERY:: " + query);
using (SQLiteCommand cmd = new SQLiteCommand(query, sqlConnection))
{
cmd.Parameters.AddWithValue("slug", show.Slug);
@@ -288,7 +287,6 @@ namespace Kyoo.InternalAPI
public long RegisterSeason(Season season)
{
string query = "INSERT INTO seasons (showID, seasonNumber, title, overview, year, imgPrimary, externalIDs) VALUES($showID, $seasonNumber, $title, $overview, $year, $imgPrimary, $externalIDs);";
- Debug.WriteLine("&SQL QUERY:: " + query);
using (SQLiteCommand cmd = new SQLiteCommand(query, sqlConnection))
{
cmd.Parameters.AddWithValue("$showID", season.ShowID);
@@ -308,7 +306,6 @@ namespace Kyoo.InternalAPI
public long RegisterEpisode(Episode episode)
{
string query = "INSERT INTO episodes (showID, seasonID, episodeNumber, title, overview, releaseDate, runtime, imgPrimary, externalIDs) VALUES($showID, $seasonID, $episodeNumber, $title, $overview, $releaseDate, $runtime, $imgPrimary, $externalIDs);";
- Debug.WriteLine("&SQL QUERY:: " + query);
using (SQLiteCommand cmd = new SQLiteCommand(query, sqlConnection))
{
cmd.Parameters.AddWithValue("$showID", episode.ShowID);
diff --git a/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs b/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs
index efed7c7c..16d0bfb2 100644
--- a/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs
+++ b/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
+using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
@@ -122,7 +123,7 @@ namespace Kyoo.InternalAPI.MetadataProvider
GetYear(data.firstAired),
null, //endYear
string.Format("{0}={1}|", Provider, data.id));
- return await GetShowByID(GetID(show.ExternalIDs)) ?? show;
+ return (await GetShowByID(GetID(show.ExternalIDs))).Set(show.Slug, show.Path) ?? show;
}
}
else
@@ -268,8 +269,6 @@ namespace Kyoo.InternalAPI.MetadataProvider
return null;
}
-
-
public async Task GetEpisode(string externalIDs, long seasonNumber, long episodeNumber)
{
string id = GetID(externalIDs);
@@ -282,8 +281,8 @@ namespace Kyoo.InternalAPI.MetadataProvider
if (token == null)
return null;
- long page = episodeNumber / 100 + 1;
- long index = episodeNumber % 100;
+ int page = (int)episodeNumber / 100 + 1;
+ int index = (int)episodeNumber % 100;
WebRequest request = WebRequest.Create("https://api.thetvdb.com/series/" + id + "/episodes?page=" + page);
request.Method = "GET";
@@ -307,8 +306,8 @@ namespace Kyoo.InternalAPI.MetadataProvider
dynamic data = JsonConvert.DeserializeObject(content);
dynamic episode = data.data[index];
- Debug.WriteLine("&Date: " + (string)episode.firstAired);
- return new Episode(episodeNumber, episode.episodeName, episode.overview, DateTime.Parse(episode.firstAired), -1, "https://www.thetvdb.com/banners/" + episode.filename, string.Format("TvDB={0}|", episode.id));
+ DateTime dateTime = DateTime.ParseExact((string)episode.firstAired, "yyyy-MM-dd", CultureInfo.InvariantCulture);
+ return new Episode(episodeNumber, (string)episode.episodeName, (string)episode.overview, dateTime, -1, "https://www.thetvdb.com/banners/" + episode.filename, string.Format("TvDB={0}|", episode.id));
}
}
else
diff --git a/Kyoo/Models/Show.cs b/Kyoo/Models/Show.cs
index fe6818c2..ec6d767b 100644
--- a/Kyoo/Models/Show.cs
+++ b/Kyoo/Models/Show.cs
@@ -91,6 +91,13 @@ namespace Kyoo.Models
reader["imgBackdrop"] as string,
reader["externalIDs"] as string);
}
+
+ public Show Set(string slug, string path)
+ {
+ Slug = slug;
+ Path = path;
+ return this;
+ }
}
public enum Status { Finished, Airing }