@@ -50,6 +50,19 @@ struct GithubAsset {
5050 download_count : u32 ,
5151}
5252
53+ #[ inline]
54+ fn clean_version_name ( name : & str ) -> String {
55+ let name = name. trim ( ) . to_lowercase ( ) ;
56+
57+ if name. starts_with ( 'v' ) {
58+ name. trim_start_matches ( "v." )
59+ . trim_start_matches ( "v" )
60+ . to_string ( )
61+ } else {
62+ name. to_string ( )
63+ }
64+ }
65+
5366async fn run_inner ( state : State ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
5467 let start = std:: time:: Instant :: now ( ) ;
5568
@@ -111,7 +124,7 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
111124 let mut versions: Vec < ExtensionVersion > = versions
112125 . into_iter ( )
113126 . map ( |version| ExtensionVersion {
114- name : version. name . trim_start_matches ( "v" ) . to_string ( ) ,
127+ name : clean_version_name ( & version. name ) ,
115128 downloads : version. downloads_count ,
116129 created : chrono:: NaiveDateTime :: parse_from_str (
117130 & version. created_at ,
@@ -209,7 +222,7 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
209222 let mut versions: Vec < ExtensionVersion > = versions
210223 . into_iter ( )
211224 . map ( |version| ExtensionVersion {
212- name : version. name . trim_start_matches ( "v" ) . to_string ( ) ,
225+ name : clean_version_name ( & version. name ) ,
213226 downloads : version. download_count ,
214227 created : chrono:: DateTime :: from_timestamp (
215228 version. release_date ,
@@ -291,7 +304,7 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
291304 . into_iter ( )
292305 . filter ( |asset| asset. name . ends_with ( ".blueprint" ) )
293306 . map ( move |asset| ExtensionVersion {
294- name : release. name . trim_start_matches ( "v" ) . to_string ( ) ,
307+ name : clean_version_name ( & release. name ) ,
295308 downloads : asset. download_count ,
296309 created : chrono:: NaiveDateTime :: parse_from_str (
297310 & release. published_at ,
0 commit comments