fix tags levenshtein dist
This commit is contained in:
		@@ -26,13 +26,6 @@ resources:
 | 
				
			|||||||
    templating: false
 | 
					    templating: false
 | 
				
			||||||
    restart: true
 | 
					    restart: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: release
 | 
					 | 
				
			||||||
  type: gitea-release-resource
 | 
					 | 
				
			||||||
  source:
 | 
					 | 
				
			||||||
    repository: natto1784/singh3
 | 
					 | 
				
			||||||
    access_token: ((gitea.token))
 | 
					 | 
				
			||||||
    gitea_api_url: ((gitea.url))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: repo
 | 
					- name: repo
 | 
				
			||||||
  type: git
 | 
					  type: git
 | 
				
			||||||
  icon: discord
 | 
					  icon: discord
 | 
				
			||||||
@@ -95,13 +88,9 @@ jobs:
 | 
				
			|||||||
        - |
 | 
					        - |
 | 
				
			||||||
          cargo build --release --manifest-path repo/Cargo.toml
 | 
					          cargo build --release --manifest-path repo/Cargo.toml
 | 
				
			||||||
          mkdir release
 | 
					          mkdir release
 | 
				
			||||||
          mv $CARGO_TARGET_DIR/release/singh3 release/aarch64-bin
 | 
					          mv $CARGO_TARGET_DIR/release/singh3 bin
 | 
				
			||||||
          awk '/^version = /{gsub(/^"|"$/,"", $3); print $3; exit}' \
 | 
					 | 
				
			||||||
            repo/Cargo.toml > release/tag
 | 
					 | 
				
			||||||
          awk '/^name = /{gsub(/^"|"$/,"", $3); print $3; exit}' \
 | 
					 | 
				
			||||||
            repo/Cargo.toml > release/title
 | 
					 | 
				
			||||||
      outputs:
 | 
					      outputs:
 | 
				
			||||||
      - name: release
 | 
					      - name: bin
 | 
				
			||||||
  - task: push-image
 | 
					  - task: push-image
 | 
				
			||||||
    privileged: true
 | 
					    privileged: true
 | 
				
			||||||
    config:
 | 
					    config:
 | 
				
			||||||
@@ -113,7 +102,7 @@ jobs:
 | 
				
			|||||||
      caches:
 | 
					      caches:
 | 
				
			||||||
      - path: cache
 | 
					      - path: cache
 | 
				
			||||||
      inputs:
 | 
					      inputs:
 | 
				
			||||||
      - name: release
 | 
					      - name: bin
 | 
				
			||||||
      outputs:
 | 
					      outputs:
 | 
				
			||||||
      - name: image
 | 
					      - name: image
 | 
				
			||||||
      run:
 | 
					      run:
 | 
				
			||||||
@@ -123,7 +112,7 @@ jobs:
 | 
				
			|||||||
        - |
 | 
					        - |
 | 
				
			||||||
          cat <<EOF > Dockerfile
 | 
					          cat <<EOF > Dockerfile
 | 
				
			||||||
          FROM arm64v8/ubuntu
 | 
					          FROM arm64v8/ubuntu
 | 
				
			||||||
          COPY release/aarch64-bin /usr/bin/singh3
 | 
					          COPY bin/singh3 /usr/bin/singh3
 | 
				
			||||||
          CMD ["singh3"]
 | 
					          CMD ["singh3"]
 | 
				
			||||||
          EOF
 | 
					          EOF
 | 
				
			||||||
          build
 | 
					          build
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@ use core::time::Duration;
 | 
				
			|||||||
use serenity::{
 | 
					use serenity::{
 | 
				
			||||||
    builder::CreateEmbed,
 | 
					    builder::CreateEmbed,
 | 
				
			||||||
    collector::component_interaction_collector::ComponentInteractionCollectorBuilder,
 | 
					    collector::component_interaction_collector::ComponentInteractionCollectorBuilder,
 | 
				
			||||||
    framework::standard::{macros::command, Args, CommandResult},
 | 
					    framework::standard::{macros::command, Args, CommandResult, Delimiter},
 | 
				
			||||||
    futures::StreamExt,
 | 
					    futures::StreamExt,
 | 
				
			||||||
    model::{interactions::InteractionResponseType, prelude::*},
 | 
					    model::{interactions::InteractionResponseType, prelude::*},
 | 
				
			||||||
    prelude::*,
 | 
					    prelude::*,
 | 
				
			||||||
@@ -28,14 +28,19 @@ pub async fn tag(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
				
			|||||||
    let query_helper = db
 | 
					    let query_helper = db
 | 
				
			||||||
        .query("SELECT name, value FROM tags WHERE name=$1", &[&query])
 | 
					        .query("SELECT name, value FROM tags WHERE name=$1", &[&query])
 | 
				
			||||||
        .await?;
 | 
					        .await?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if query_helper.is_empty() {
 | 
					    if query_helper.is_empty() {
 | 
				
			||||||
 | 
					        const DIST_LIMIT: i32 = 2;
 | 
				
			||||||
        let leven = db
 | 
					        let leven = db
 | 
				
			||||||
            .query(
 | 
					            .query(
 | 
				
			||||||
                "SELECT name FROM tags WHERE levenshtein(name, $1) < 2",
 | 
					                "SELECT name, levenshtein_less_equal(name, $1, $2) AS lev FROM tags ORDER BY lev LIMIT 1 ",
 | 
				
			||||||
                &[&query],
 | 
					                &[&query, &DIST_LIMIT],
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            .await?;
 | 
					            .await?;
 | 
				
			||||||
        let l = if leven.is_empty() {
 | 
					
 | 
				
			||||||
 | 
					        let dist: i32 = leven[0].get(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let l = if dist > DIST_LIMIT {
 | 
				
			||||||
            "".to_string()
 | 
					            "".to_string()
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            let leven_name: String = leven[0].get(0);
 | 
					            let leven_name: String = leven[0].get(0);
 | 
				
			||||||
@@ -135,7 +140,8 @@ pub async fn tcopy(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
				
			|||||||
        &[&queries[1], &msg.author.id.to_string(), &queries[0]],
 | 
					        &[&queries[1], &msg.author.id.to_string(), &queries[0]],
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    .await?;
 | 
					    .await?;
 | 
				
			||||||
    msg.reply(ctx, "Copied").await?;
 | 
					    msg.reply(ctx, format!("Copied {} to {}", queries[0], queries[1]))
 | 
				
			||||||
 | 
					        .await?;
 | 
				
			||||||
    Ok(())
 | 
					    Ok(())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -164,7 +170,8 @@ pub async fn tremove(ctx: &Context, msg: &Message, args: Args) -> CommandResult
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    db.execute("DELETE FROM tags WHERE name=$1", &[&query])
 | 
					    db.execute("DELETE FROM tags WHERE name=$1", &[&query])
 | 
				
			||||||
        .await?;
 | 
					        .await?;
 | 
				
			||||||
    msg.reply(ctx, "Deleted if it existed").await?;
 | 
					    msg.reply(ctx, format!("Deleted {} if it existed", query))
 | 
				
			||||||
 | 
					        .await?;
 | 
				
			||||||
    Ok(())
 | 
					    Ok(())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -175,7 +182,7 @@ pub async fn tedit(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
				
			|||||||
    if queries.len() != 2 && msg.attachments.len() == 0 {
 | 
					    if queries.len() != 2 && msg.attachments.len() == 0 {
 | 
				
			||||||
        msg.reply(
 | 
					        msg.reply(
 | 
				
			||||||
            ctx,
 | 
					            ctx,
 | 
				
			||||||
            "Please use the proper syntax or attach something\n`,tedit <name> <value> `",
 | 
					            "Please use the proper syntax or attach something\n`,tedit <name> <value>`",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        .await?;
 | 
					        .await?;
 | 
				
			||||||
        return Ok(());
 | 
					        return Ok(());
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user