1 Commits

Author SHA1 Message Date
aa56ba5a7f WIP 2025-02-25 21:36:34 +01:00
70 changed files with 137 additions and 119 deletions

View File

@@ -83,8 +83,8 @@ jobs:
target: ${{ gitea.ref_name }}/coverage/ target: ${{ gitea.ref_name }}/coverage/
username: gitea-web username: gitea-web
ssh-key: ${{ secrets.WEB_SYNC_SSH_KEY }} ssh-key: ${{ secrets.WEB_SYNC_SSH_KEY }}
host: pages.pvv.ntnu.no host: bekkalokk.pvv.ntnu.no
known-hosts: "pages.pvv.ntnu.no ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH2QjfFB+city1SYqltkVqWACfo1j37k+oQQfj13mtgg" known-hosts: "bekkalokk.pvv.ntnu.no ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEI6VSaDrMG8+flg4/AeHlAFIen8RUzWh6URQKqFegSx"
docs: docs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -107,6 +107,6 @@ jobs:
target: ${{ gitea.ref_name }}/docs/ target: ${{ gitea.ref_name }}/docs/
username: gitea-web username: gitea-web
ssh-key: ${{ secrets.WEB_SYNC_SSH_KEY }} ssh-key: ${{ secrets.WEB_SYNC_SSH_KEY }}
host: pages.pvv.ntnu.no host: bekkalokk.pvv.ntnu.no
known-hosts: "pages.pvv.ntnu.no ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH2QjfFB+city1SYqltkVqWACfo1j37k+oQQfj13mtgg" known-hosts: "bekkalokk.pvv.ntnu.no ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEI6VSaDrMG8+flg4/AeHlAFIen8RUzWh6URQKqFegSx"

30
Cargo.lock generated
View File

@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo. # This file is automatically @generated by Cargo.
# It is not intended for manual editing. # It is not intended for manual editing.
version = 4 version = 3
[[package]] [[package]]
name = "diff" name = "diff"
@@ -19,9 +19,9 @@ dependencies = [
[[package]] [[package]]
name = "indoc" name = "indoc"
version = "2.0.6" version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]] [[package]]
name = "pretty_assertions" name = "pretty_assertions"
@@ -35,36 +35,36 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.95" version = "1.0.88"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.40" version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.219" version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.219" version = "1.0.210"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -73,9 +73,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.104" version = "2.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -84,9 +84,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.18" version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
[[package]] [[package]]
name = "yansi" name = "yansi"

View File

@@ -7,12 +7,12 @@ authors = [
description = "A rust implementation of the mpd protocol, both client and serverside" description = "A rust implementation of the mpd protocol, both client and serverside"
repository = "https://git.pvv.ntnu.no/Grzegorz/empidee" repository = "https://git.pvv.ntnu.no/Grzegorz/empidee"
documentation = "https://pages.pvv.ntnu.no/Grzegorz/empidee/main/docs/empidee/" documentation = "https://pages.pvv.ntnu.no/Grzegorz/empidee/main/docs/empidee/"
edition = "2024" edition = "2021"
rust-version = "1.85.0" rust-version = "1.83.0"
[dependencies] [dependencies]
serde = { version = "1.0.219", features = ["derive"] } serde = { version = "1.0.210", features = ["derive"] }
[dev-dependencies] [dev-dependencies]
indoc = "2.0.6" indoc = "2.0.5"
pretty_assertions = "1.4.1" pretty_assertions = "1.4.1"

12
flake.lock generated
View File

@@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1753939845, "lastModified": 1739866667,
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=", "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "94def634a20494ee057c76998843c015909d6311", "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -29,11 +29,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1754189623, "lastModified": 1740277845,
"narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=", "narHash": "sha256-NNU0CdiaSbAeZ8tpDG4aFi9qtcdlItRvk8Xns9oBrVU=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a", "rev": "f933070c29f9c1c5457447a51903f27f76ebb519",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -36,7 +36,6 @@
default = pkgs.mkShell { default = pkgs.mkShell {
nativeBuildInputs = [ nativeBuildInputs = [
toolchain toolchain
pkgs.cargo-edit
]; ];
RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library"; RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library";

View File

@@ -1 +0,0 @@
style_edition = "2024"

View File

@@ -1,8 +1,8 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, expect_property_type, Command, Request, RequestParserResult, ResponseAttributes,
expect_property_type, ResponseParserError,
}; };
pub struct Channels; pub struct Channels;

View File

@@ -1,8 +1,8 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, expect_property_type, Command, Request, RequestParserResult, ResponseAttributes,
expect_property_type, ResponseParserError,
}; };
pub struct ReadMessages; pub struct ReadMessages;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct Protocol; pub struct Protocol;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct ProtocolAll; pub struct ProtocolAll;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct ProtocolAvailable; pub struct ProtocolAvailable;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct ProtocolClear; pub struct ProtocolClear;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct ProtocolDisable; pub struct ProtocolDisable;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct ProtocolEnable; pub struct ProtocolEnable;

View File

@@ -30,7 +30,7 @@ impl Command for TagTypes {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"tagtype", "Binary", "tagtype", "Binary",
)); ))
} }
}; };

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct TagTypesAll; pub struct TagTypesAll;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct TagTypesAvailable; pub struct TagTypesAvailable;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct TagTypesClear; pub struct TagTypesClear;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct TagTypesDisable; pub struct TagTypesDisable;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct TagTypesEnable; pub struct TagTypesEnable;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct TagTypesReset; pub struct TagTypesReset;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct ListMounts; pub struct ListMounts;

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct ListNeighbors; pub struct ListNeighbors;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Mount; pub struct Mount;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Unmount; pub struct Unmount;

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, get_property, Command, Request, RequestParserError,
ResponseParserError, get_and_parse_property, get_property, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
common::Offset, common::Offset,
}; };

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_and_parse_property, ResponseAttributes, ResponseParserError,
}, },
filter::parse_filter, filter::parse_filter,
}; };

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_and_parse_property, ResponseAttributes, ResponseParserError,
}; };
pub struct GetFingerprint; pub struct GetFingerprint;

View File

@@ -1,7 +1,7 @@
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, expect_property_type, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, expect_property_type, ResponseAttributes, ResponseParserError,
}, },
filter::parse_filter, filter::parse_filter,
}; };

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, get_optional_property, get_property, Command, Request,
ResponseParserError, get_and_parse_property, get_optional_property, get_property, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
common::Offset, common::Offset,
}; };

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_and_parse_property, Command, Request, RequestParserResult, ResponseAttributes,
get_and_parse_property, ResponseParserError,
}; };
pub struct Rescan; pub struct Rescan;

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_and_parse_property, ResponseAttributes, ResponseParserError,
}, },
filter::parse_filter, filter::parse_filter,
}; };

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_and_parse_property, Command, Request, RequestParserResult, ResponseAttributes,
get_and_parse_property, ResponseParserError,
}; };
pub struct Update; pub struct Update;

View File

@@ -1,6 +1,6 @@
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, expect_property_type, Command, Request, RequestParserResult, ResponseAttributes,
expect_property_type, ResponseParserError,
}; };
pub struct ListPartitions; pub struct ListPartitions;

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_and_parse_property, Command, Request, RequestParserResult, ResponseAttributes,
get_and_parse_property, ResponseParserError,
}, },
common::VolumeValue, common::VolumeValue,
}; };

View File

@@ -4,8 +4,8 @@ use serde::{Deserialize, Serialize};
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_property, Command, Request, RequestParserResult, ResponseAttributes,
get_property, ResponseParserError,
}, },
common::ReplayGainModeMode, common::ReplayGainModeMode,
}; };

View File

@@ -3,8 +3,8 @@ use std::collections::HashMap;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_and_parse_optional_property, get_and_parse_property, Command, Request, RequestParserResult,
get_and_parse_optional_property, get_and_parse_property, ResponseAttributes, ResponseParserError,
}; };
pub struct Stats; pub struct Stats;

View File

@@ -6,9 +6,9 @@ use serde::{Deserialize, Serialize};
use crate::common::{Audio, BoolOrOneshot, SongId, SongPosition}; use crate::common::{Audio, BoolOrOneshot, SongId, SongPosition};
use crate::commands::{ use crate::commands::{
get_and_parse_optional_property, get_and_parse_property, get_optional_property, get_property,
Command, GenericResponseValue, Request, RequestParserResult, ResponseAttributes, Command, GenericResponseValue, Request, RequestParserResult, ResponseAttributes,
ResponseParserError, get_and_parse_optional_property, get_and_parse_property, ResponseParserError,
get_optional_property, get_property,
}; };
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]

View File

@@ -1,7 +1,7 @@
use crate::{ use crate::{
commands::{ commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_next_and_parse_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_next_and_parse_property, ResponseAttributes, ResponseParserError,
}, },
common::{SongId, SongPosition}, common::{SongId, SongPosition},
}; };

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct AddTagId; pub struct AddTagId;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct ClearTagId; pub struct ClearTagId;

View File

@@ -1,11 +1,11 @@
use std::str::FromStr; use std::str::FromStr;
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
common::OneOrRange, common::OneOrRange,
Request,
}; };
pub struct Delete; pub struct Delete;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct DeleteId; pub struct DeleteId;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Move; pub struct Move;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct MoveId; pub struct MoveId;

View File

@@ -1,12 +1,14 @@
use crate::{ use crate::{
Request,
commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError}, commands::{Command, RequestParserResult, ResponseAttributes, ResponseParserError},
Request,
}; };
pub struct Playlist; pub struct Playlist;
pub type PlaylistResponse = Vec<String>;
impl Command for Playlist { impl Command for Playlist {
type Response = (); type Response = PlaylistResponse;
const COMMAND: &'static str = "playlist"; const COMMAND: &'static str = "playlist";
fn parse_request(mut parts: std::str::SplitWhitespace<'_>) -> RequestParserResult<'_> { fn parse_request(mut parts: std::str::SplitWhitespace<'_>) -> RequestParserResult<'_> {
@@ -17,6 +19,7 @@ impl Command for Playlist {
fn parse_response( fn parse_response(
_parts: ResponseAttributes<'_>, _parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// TODO: 1: https, 2: https, etc.
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,9 +1,9 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
filter::parse_filter, filter::parse_filter,
Request,
}; };
pub struct PlaylistFind; pub struct PlaylistFind;
@@ -44,6 +44,9 @@ impl Command for PlaylistFind {
fn parse_response( fn parse_response(
_parts: ResponseAttributes<'_>, _parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// Pos:
// Id:
// (Prio:)
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct PlaylistId; pub struct PlaylistId;
@@ -25,6 +25,9 @@ impl Command for PlaylistId {
fn parse_response( fn parse_response(
_parts: ResponseAttributes<'_>, _parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// Pos:
// Id:
// (Prio:)
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct PlaylistInfo; pub struct PlaylistInfo;
@@ -28,6 +28,9 @@ impl Command for PlaylistInfo {
fn parse_response( fn parse_response(
_parts: ResponseAttributes<'_>, _parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// Pos:
// Id:
// (Prio:)
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,9 +1,9 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
filter::parse_filter, filter::parse_filter,
Request,
}; };
pub struct PlaylistSearch; pub struct PlaylistSearch;
@@ -44,6 +44,9 @@ impl Command for PlaylistSearch {
fn parse_response( fn parse_response(
_parts: ResponseAttributes<'_>, _parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// Pos:
// Id:
// (Prio:)
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct PlChanges; pub struct PlChanges;
@@ -33,6 +33,9 @@ impl Command for PlChanges {
fn parse_response( fn parse_response(
parts: ResponseAttributes<'_>, parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// Pos:
// Id:
// (Prio:)
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct PlChangesPosId; pub struct PlChangesPosId;
@@ -33,6 +33,8 @@ impl Command for PlChangesPosId {
fn parse_response( fn parse_response(
parts: ResponseAttributes<'_>, parts: ResponseAttributes<'_>,
) -> Result<Self::Response, ResponseParserError> { ) -> Result<Self::Response, ResponseParserError> {
// cpos:
// Id:
unimplemented!() unimplemented!()
} }
} }

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Prio; pub struct Prio;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct PrioId; pub struct PrioId;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct RangeId; pub struct RangeId;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Shuffle; pub struct Shuffle;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct Swap; pub struct Swap;

View File

@@ -1,8 +1,8 @@
use crate::{ use crate::{
Request,
commands::{ commands::{
Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError, Command, RequestParserError, RequestParserResult, ResponseAttributes, ResponseParserError,
}, },
Request,
}; };
pub struct SwapId; pub struct SwapId;

View File

@@ -30,7 +30,7 @@ impl Command for Commands {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"handler", "Binary", "handler", "Binary",
)); ))
} }
}; };
result.push(value.to_string()); result.push(value.to_string());

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, get_and_parse_property, get_property, Command, Request, RequestParserResult,
get_and_parse_property, get_property, ResponseAttributes, ResponseParserError,
}; };
pub struct Config; pub struct Config;

View File

@@ -30,7 +30,7 @@ impl Command for NotCommands {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"handler", "Binary", "handler", "Binary",
)); ))
} }
}; };
result.push(value.to_string()); result.push(value.to_string());

View File

@@ -30,7 +30,7 @@ impl Command for UrlHandlers {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"handler", "Binary", "handler", "Binary",
)); ))
} }
}; };
url_handlers.push(value.to_string()); url_handlers.push(value.to_string());

View File

@@ -87,7 +87,7 @@ impl Command for StickerFind {
let uri = match uri.1 { let uri = match uri.1 {
GenericResponseValue::Text(s) => s.to_string(), GenericResponseValue::Text(s) => s.to_string(),
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType(uri.0, "Binary")); return Err(ResponseParserError::UnexpectedPropertyType(uri.0, "Binary"))
} }
}; };
@@ -96,7 +96,7 @@ impl Command for StickerFind {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"sticker", "Binary", "sticker", "Binary",
)); ))
} }
}; };

View File

@@ -1,6 +1,6 @@
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_next_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_next_property, ResponseAttributes, ResponseParserError,
}; };
pub struct StickerGet; pub struct StickerGet;

View File

@@ -1,6 +1,6 @@
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, expect_property_type, Command, Request, RequestParserResult, ResponseAttributes,
expect_property_type, ResponseParserError,
}; };
pub struct StickerNames; pub struct StickerNames;

View File

@@ -39,7 +39,7 @@ impl Command for StickerNamesTypes {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"name", "Binary", "name", "Binary",
)); ))
} }
}; };
@@ -48,7 +48,7 @@ impl Command for StickerNamesTypes {
GenericResponseValue::Binary(_) => { GenericResponseValue::Binary(_) => {
return Err(ResponseParserError::UnexpectedPropertyType( return Err(ResponseParserError::UnexpectedPropertyType(
"type", "Binary", "type", "Binary",
)); ))
} }
}; };

View File

@@ -1,6 +1,6 @@
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError, expect_property_type, Command, Request, RequestParserResult, ResponseAttributes,
expect_property_type, ResponseParserError,
}; };
pub struct StickerTypes; pub struct StickerTypes;

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap; use std::collections::HashMap;
use crate::commands::{ use crate::commands::{
Command, Request, RequestParserError, RequestParserResult, ResponseAttributes, get_and_parse_property, Command, Request, RequestParserError, RequestParserResult,
ResponseParserError, get_and_parse_property, ResponseAttributes, ResponseParserError,
}; };
pub struct PlaylistLength; pub struct PlaylistLength;

View File

@@ -239,7 +239,7 @@ impl Request {
.ok_or(RequestParserError::MissingCommandListEnd(i))?; .ok_or(RequestParserError::MissingCommandListEnd(i))?;
match line.trim() { match line.trim() {
"command_list_begin" => { "command_list_begin" => {
return Err(RequestParserError::NestedCommandList(i)); return Err(RequestParserError::NestedCommandList(i))
} }
"command_list_end" => { "command_list_end" => {
return Ok((Request::CommandList(commands), rest)); return Ok((Request::CommandList(commands), rest));

View File

@@ -1,4 +1,4 @@
use crate::{Request, Response, common::SubSystem}; use crate::{common::SubSystem, Request, Response};
pub trait MPDServer { pub trait MPDServer {
type Error; type Error;