Skip to content

Commit

Permalink
Rand library updates
Browse files Browse the repository at this point in the history
  • Loading branch information
nygrenh committed Feb 3, 2025
1 parent b063be8 commit 26b1ca5
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ ORDER BY ess.user_id, ess.created_at DESC
.fetch_all(conn)
.await?;
// shuffle the res vec
let mut rng = rand::thread_rng();
let mut rng = rand::rng();
res.shuffle(&mut rng);
Ok(res.into_iter().next())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::collections::HashMap;

use chrono::Duration;
use futures::future::BoxFuture;
use rand::{seq::SliceRandom, thread_rng};
use rand::{rng, seq::SliceRandom};
use url::Url;

use crate::{
Expand Down Expand Up @@ -578,7 +578,7 @@ async fn try_to_select_peer_review_candidate_from_queue_impl(
excluded_user_id: Uuid,
excluded_exercise_slide_submission_ids: &[Uuid],
) -> ModelResult<Option<(Uuid, bool)>> {
let mut rng = thread_rng();
let mut rng = rng();
// Try to get a candidate that needs reviews from queue.
let mut candidates = peer_review_queue_entries::get_many_that_need_peer_reviews_by_exercise_id_and_review_priority(conn,
exercise_id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ pub async fn try_to_restore_previously_given_exercise_slide_submission(
course_instance_id: Uuid,
) -> ModelResult<Option<ExerciseSlideSubmission>> {
// Sometimes clean up the table to keep the table small and fast
if rand::thread_rng().gen_range(0..10) == 0 {
if rand::rng().random_range(0..10) == 0 {
delete_expired_records(&mut *conn).await?;
}

Expand Down
6 changes: 3 additions & 3 deletions services/headless-lms/models/src/test_helper.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ macro_rules! insert_data {
let mut $tx = conn.begin().await;
};
(@inner tx: $tx:ident; user: $user:ident) => {
let rs = ::rand::Rng::sample_iter(::rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = ::rand::Rng::sample_iter(::rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand All @@ -145,7 +145,7 @@ macro_rules! insert_data {
.unwrap();
};
(@inner tx: $tx:ident, user: $user:ident; org: $org:ident) => {
let rs = rand::Rng::sample_iter(rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = rand::Rng::sample_iter(rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand All @@ -155,7 +155,7 @@ macro_rules! insert_data {
.unwrap();
};
(@inner tx: $tx:ident, user: $user:ident, org: $org:ident; course: $course: ident) => {
let rs = ::rand::Rng::sample_iter(::rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = ::rand::Rng::sample_iter(::rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ use models::exercise_slides::ExerciseSlide;
use models::exercise_tasks::ExerciseTask;
use models::exercises::Exercise;
use models::organizations::DatabaseOrganization;
use rand::distributions::Alphanumeric;
use rand::distributions::DistString;
use rand::distr::Alphanumeric;
use rand::distr::DistString;
use std::{collections::HashMap, path::Path};
use std::{path::PathBuf, sync::Arc};

Expand Down Expand Up @@ -274,7 +274,7 @@ async fn upload_file_to_storage(

fn make_filename_safe(path: &PathBuf) -> PathBuf {
let mut path_buf = path.to_owned();
let random_string = Alphanumeric.sample_string(&mut rand::thread_rng(), 25);
let random_string = Alphanumeric.sample_string(&mut rand::rng(), 25);
path_buf.set_file_name(random_string);
if let Some(ext) = path.extension() {
// For convenience, we'll keep the original extension in most cases. We'll just filter out any potentially problematic characters.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1486,7 +1486,7 @@ async fn set_join_code_for_course(
const CHARSET: &[u8] = b"ABCDEFGHJKMNPQRSTUVWXYZ\
abcdefghjkmnpqrstuvwxyz";
const PASSWORD_LEN: usize = 64;
let mut rng = rand::thread_rng();
let mut rng = rand::rng();

let code: String = (0..PASSWORD_LEN)
.map(|_| {
Expand Down
6 changes: 3 additions & 3 deletions services/headless-lms/server/src/test_helper.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ macro_rules! insert_data {
let mut $tx = conn.begin().await;
};
(@inner tx: $tx:ident; user: $user:ident) => {
let rs = ::rand::Rng::sample_iter(::rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = ::rand::Rng::sample_iter(::rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand All @@ -158,7 +158,7 @@ macro_rules! insert_data {
.unwrap();
};
(@inner tx: $tx:ident, user: $user:ident; org: $org:ident) => {
let rs = rand::Rng::sample_iter(rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = rand::Rng::sample_iter(rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand All @@ -168,7 +168,7 @@ macro_rules! insert_data {
.unwrap();
};
(@inner tx: $tx:ident, user: $user:ident, org: $org:ident; course: $course: ident) => {
let rs = ::rand::Rng::sample_iter(::rand::thread_rng(), &::rand::distributions::Alphanumeric)
let rs = ::rand::Rng::sample_iter(::rand::rng(), &::rand::distr::Alphanumeric)
.take(8)
.map(char::from)
.collect::<String>();
Expand Down
5 changes: 2 additions & 3 deletions services/headless-lms/utils/src/file_store/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use std::{
use async_trait::async_trait;
use bytes::Bytes;
use futures::Stream;
use rand::distributions::DistString;
use rand::distr::SampleString;

use uuid::Uuid;

Expand Down Expand Up @@ -74,8 +74,7 @@ pub trait FileStore {
}
}

let random_filename =
rand::distributions::Alphanumeric.sample_string(&mut rand::thread_rng(), 32);
let random_filename = rand::distr::Alphanumeric.sample_string(&mut rand::rng(), 32);
let temp_path = cache_folder.join(random_filename.as_str());

let file_content = self.download(file_path).await?;
Expand Down
6 changes: 3 additions & 3 deletions services/headless-lms/utils/src/strings.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use once_cell::sync::Lazy;
use rand::{distributions::Alphanumeric, thread_rng, Rng};
use rand::{distr::Alphanumeric, rng, Rng};
use regex::Regex;

static IETF_LANGUAGE_CODE_REGEX: Lazy<Regex> = Lazy::new(|| {
Expand All @@ -8,15 +8,15 @@ static IETF_LANGUAGE_CODE_REGEX: Lazy<Regex> = Lazy::new(|| {
});

pub fn generate_random_string(length: usize) -> String {
thread_rng()
rng()
.sample_iter(Alphanumeric)
.take(length)
.map(char::from)
.collect()
}

pub fn generate_easily_writable_random_string(length: usize) -> String {
thread_rng()
rng()
.sample_iter(Alphanumeric)
.filter(|c| c.is_ascii_lowercase() || c.is_ascii_digit())
// Filter out characters that might be confused with each other
Expand Down

0 comments on commit 26b1ca5

Please sign in to comment.