8000 Update package_version.rs · Allstreamer/rust-pip@3a80119 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3a80119

Browse files
committed
Update package_version.rs
- Added DevHead - Finished Dev Version processing - Realized that local version can be +<anything>.<anything>.<anything> and so on
1 parent f90e2c5 commit 3a80119

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/package_version.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ static VALIDATION_REGEX: &'static str = pomsky!(
5151
)?
5252
);
5353

54+
#[derive(Debug, Serialize, Deserialize)]
55+
pub enum DevHead {
56+
Dev(Option<u32>)
57+
}
58+
5459
#[derive(Debug, Serialize, Deserialize)]
5560
pub enum PostHead {
5661
Post,
@@ -91,7 +96,7 @@ pub struct PackageVersion {
9196
release: VersionRelease,
9297
pre: Option<PreHeader>,
9398
post: Option<PostHeader>,
94-
dev: Option<String>,
99+
dev: Option<DevHead>,
95100
local: Option<String>,
96101
}
97102

@@ -193,13 +198,17 @@ impl PackageVersion {
193198
None => None,
194199
};
195200

196-
// TODO!
197-
let dev: Option<String> = match version_match.name("dev") {
198-
Some(v) => Some(v.as_str().to_string()),
201+
let dev: Option<DevHead> = match version_match.name("dev") {
202+
Some(_) => {
203+
let dev_n = match version_match.name("dev_n") {
204+
Some(v) => {Some(v.as_str().parse::<u32>()?)},
205+
None => None
206+
};
207+
Some(DevHead::Dev(dev_n))
208+
},
199209
None => None,
200210
};
201211

202-
// TODO!
203212
let local: Option<String> = match version_match.name("local") {
204213
Some(v) => Some(v.as_str().to_string()),
205214
None => None,
@@ -223,6 +232,7 @@ mod tests {
223232

224233
#[test]
225234
fn check_pep440() {
235+
// list of every example mentioned in pep-440
226236
let versions = vec![
227237
"1.0",
228238
"1.1",

0 commit comments

Comments
 (0)
0