Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'yt_downloader' into 'development'
Suitable downloader for milestone #1

See merge request Javinator9889/YouTubeMDBot!3
  • Loading branch information
Javinator9889 committed Sep 20, 2019
2 parents b8d3794 + 16784ed commit 8c9fab7
Show file tree
Hide file tree
Showing 24 changed files with 2,517 additions and 1,939 deletions.
30 changes: 30 additions & 0 deletions .gitlab-ci.yml
@@ -0,0 +1,30 @@
# https://hub.docker.com/r/library/python/tags/
image: python:latest

# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/

before_script:
- python -V # Print out python version for debugging

test:pylint:
script:
- pip install pylint
- pylint -j 0 --exit-zero --ignored-classes=_socketobject *.py YouTubeMDBot

test:
script:
- pip install -r YouTubeMDBot/requirements.txt
- python -m unittest $(pwd)/YouTubeMDBot/tests/*.py
Binary file modified Design/Database/database_model.mwb
Binary file not shown.
Binary file modified Design/Database/database_model.mwb.bak
Binary file not shown.
209 changes: 105 additions & 104 deletions Design/Database/generated_sql_file.sql
@@ -1,5 +1,5 @@
-- MySQL Script generated by MySQL Workbench
-- lun 22 jul 2019 14:28:48 CEST
-- jue 25 jul 2019 13:50:06 CEST
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering

Expand All @@ -18,82 +18,6 @@ CREATE SCHEMA IF NOT EXISTS `youtubemd` DEFAULT CHARACTER SET utf8mb4 ;
SHOW WARNINGS;
USE `youtubemd` ;

-- -----------------------------------------------------
-- Table `youtubemd`.`User`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`User` (
`id` INT(64) NOT NULL DEFAULT 0,
`name` VARCHAR(45) NULL DEFAULT 'User',
`surname` VARCHAR(45) NULL,
`username` VARCHAR(45) NULL,
`lastSeen` DATETIME NOT NULL,
`firstUsage` DATETIME NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
CHECKSUM = 1
PACK_KEYS = 1;

SHOW WARNINGS;
CREATE UNIQUE INDEX `id_UNIQUE` ON `youtubemd`.`User` (`id` ASC) VISIBLE;

SHOW WARNINGS;
CREATE UNIQUE INDEX `username_UNIQUE` ON `youtubemd`.`User` (`username` ASC) VISIBLE;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`Preferences`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`Preferences` (
`language` VARCHAR(3) NOT NULL DEFAULT 'en',
`audioQuality` ENUM('320k', '256k', '128k') NOT NULL DEFAULT '128k',
`audioSampling` ENUM('44000', '48000') NOT NULL DEFAULT '44000',
`sendSongLinks` TINYINT NOT NULL DEFAULT 0,
`User_id` INT(64) NOT NULL,
PRIMARY KEY (`User_id`),
CONSTRAINT `fk_Preferences_User`
FOREIGN KEY (`User_id`)
REFERENCES `youtubemd`.`User` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`Metadata`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`Metadata` (
`idMetadata` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`artist` VARCHAR(60) NOT NULL,
`cover` BLOB NOT NULL,
`duration` INT NULL,
`customMetadata` TINYINT NOT NULL DEFAULT 0,
PRIMARY KEY (`idMetadata`))
ENGINE = InnoDB
AUTO_INCREMENT = 0
CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`VideoInformation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`VideoInformation` (
`id` VARCHAR(11) NOT NULL,
`title` VARCHAR(100) NOT NULL,
`channel` VARCHAR(60) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;
CREATE UNIQUE INDEX `id_UNIQUE` ON `youtubemd`.`VideoInformation` (`id` ASC) VISIBLE;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`DownloadInformation`
-- -----------------------------------------------------
Expand Down Expand Up @@ -128,6 +52,23 @@ CREATE INDEX `fk_DownloadInformation_VideoInformation1_idx` ON `youtubemd`.`Down

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`DownloadStatistics`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`DownloadStatistics` (
`timesRequested` INT NOT NULL DEFAULT 0,
`DownloadInformation_file_id` VARCHAR(50) NOT NULL,
PRIMARY KEY (`DownloadInformation_file_id`),
CONSTRAINT `fk_DownloadStatistics_DownloadInformation1`
FOREIGN KEY (`DownloadInformation_file_id`)
REFERENCES `youtubemd`.`DownloadInformation` (`file_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`History`
-- -----------------------------------------------------
Expand All @@ -154,35 +95,18 @@ CREATE INDEX `fk_History_DownloadInformation1_idx` ON `youtubemd`.`History` (`Do
SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`VideoStatistics`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`VideoStatistics` (
`timesRequested` INT NOT NULL DEFAULT 0,
`VideoInformation_id` VARCHAR(11) NOT NULL,
PRIMARY KEY (`VideoInformation_id`),
CONSTRAINT `fk_VideoStatistics_VideoInformation1`
FOREIGN KEY (`VideoInformation_id`)
REFERENCES `youtubemd`.`VideoInformation` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`DownloadStatistics`
-- Table `youtubemd`.`Metadata`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`DownloadStatistics` (
`timesRequested` INT NOT NULL DEFAULT 0,
`DownloadInformation_file_id` VARCHAR(50) NOT NULL,
PRIMARY KEY (`DownloadInformation_file_id`),
CONSTRAINT `fk_DownloadStatistics_DownloadInformation1`
FOREIGN KEY (`DownloadInformation_file_id`)
REFERENCES `youtubemd`.`DownloadInformation` (`file_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
CREATE TABLE IF NOT EXISTS `youtubemd`.`Metadata` (
`idMetadata` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`artist` VARCHAR(60) NOT NULL,
`cover` BLOB NOT NULL,
`duration` INT NULL,
`customMetadata` TINYINT NOT NULL DEFAULT 0,
PRIMARY KEY (`idMetadata`))
ENGINE = InnoDB
AUTO_INCREMENT = 0
CHECKSUM = 1;

SHOW WARNINGS;
Expand Down Expand Up @@ -246,6 +170,83 @@ CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`Preferences`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`Preferences` (
`language` VARCHAR(3) NOT NULL DEFAULT 'en',
`audioQuality` ENUM('320k', '256k', '128k') NOT NULL DEFAULT '128k',
`audioSampling` ENUM('44000', '48000') NOT NULL DEFAULT '44000',
`sendSongLinks` TINYINT NOT NULL DEFAULT 0,
`askForMetadata` TINYINT NOT NULL DEFAULT 1,
`User_id` INT(64) NOT NULL,
PRIMARY KEY (`User_id`),
CONSTRAINT `fk_Preferences_User`
FOREIGN KEY (`User_id`)
REFERENCES `youtubemd`.`User` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`User`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`User` (
`id` INT(64) NOT NULL DEFAULT 0,
`name` VARCHAR(45) NULL DEFAULT 'User',
`surname` VARCHAR(45) NULL,
`username` VARCHAR(45) NULL,
`lastSeen` DATETIME NOT NULL,
`firstUsage` DATETIME NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
CHECKSUM = 1
PACK_KEYS = 1;

SHOW WARNINGS;
CREATE UNIQUE INDEX `id_UNIQUE` ON `youtubemd`.`User` (`id` ASC) VISIBLE;

SHOW WARNINGS;
CREATE UNIQUE INDEX `username_UNIQUE` ON `youtubemd`.`User` (`username` ASC) VISIBLE;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`VideoInformation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`VideoInformation` (
`id` VARCHAR(11) NOT NULL,
`title` VARCHAR(100) NOT NULL,
`channel` VARCHAR(60) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;
CREATE UNIQUE INDEX `id_UNIQUE` ON `youtubemd`.`VideoInformation` (`id` ASC) VISIBLE;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `youtubemd`.`VideoStatistics`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `youtubemd`.`VideoStatistics` (
`timesRequested` INT NOT NULL DEFAULT 0,
`VideoInformation_id` VARCHAR(11) NOT NULL,
PRIMARY KEY (`VideoInformation_id`),
CONSTRAINT `fk_VideoStatistics_VideoInformation1`
FOREIGN KEY (`VideoInformation_id`)
REFERENCES `youtubemd`.`VideoInformation` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CHECKSUM = 1;

SHOW WARNINGS;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Binary file modified Design/Database/img_database_model.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Design/Database/pdf_database_model.pdf
Binary file not shown.

0 comments on commit 8c9fab7

Please sign in to comment.