Extensionchecker, filedownloader and figreturner

Extensionchecker, filedownloader and figreturner#

Extensionchecker#

This code walks through a specified folder and all subfolders to identify the kind of files that are present. It returns the extensions.

# Extensionchecker: A script that checks what kind of files are in a folder and its subfolder

import os

directory = '..'

def find_file_extensions(directory):
    extensions = set()  # Used to exclude duplicates
    # Iterate over all files in the specified folder
    for root, dirs, files in os.walk(directory):
        for file in files:
            _, ext = os.path.splitext(file)  # Splits the filename to extract the extension
            if ext:  # Check whether the extension already exists
                extensions.add(ext.lower())  # Adds the extension and uses lowercase
    return print(extensions)

find_file_extensions(directory)

Filedownloader#

Code searches for specified extensions and returns them as a downloadlink for markdown

# Filedownloader: A script that searches for specified extensions and returns them as a downloadlink for markdown

import os
from urllib.parse import quote

directory = '..'

def find_files(directory):
    markdown_links = []
    # Loop door de directory en alle subdirectories
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith((".pdf", ".jpg", ".docx", )):
                # Creëer het volledige pad naar het bestand
                full_path = os.path.join(root, file)
                # Converteer het pad naar een relatief pad (verwijder de opgegeven root directory uit het pad)
                relative_path = os.path.relpath(full_path, directory)
                # Encode het pad voor gebruik in URL
                url_encoded_path = quote(relative_path)
                # Formatteer het pad en de bestandsnaam als een Markdown link

                
                markdown_link = f"[{file}]{url_encoded_path})"
                markdown_links.append(markdown_link)
    return markdown_links

# Stel de root directory in waar je wilt beginnen met zoeken naar PDFs
links = find_files(directory)

# Print alle gevonden Markdown links
for link in links:
    print(link)

Figreturner#

A script that searches in a specified folder and all subfolders for figure files (jpg) and returns the code for figures in markdown.

# Return figure for md
# Note that you should replace %5C with / and %20 with space

import os
from urllib.parse import quote

directory = '..'

def find_jpg_files(directory):
    markdown_links = []
    # Loop door de directory en alle subdirectories
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(".jpg"):
                # Creëer het volledige pad naar het bestand
                full_path = os.path.join(root, file)
                # Converteer het pad naar een relatief pad (verwijder de opgegeven root directory uit het pad)
                relative_path = os.path.relpath(full_path, directory)
                # Encode the path for use in URL, preserving slashes and spaces
                url_encoded_path = quote(relative_path, safe='/ ')
                # Formatteer het pad en de bestandsnaam als een Markdown link

                
                markdown_link = f"``` {directory}/{url_encoded_path} \n--- \nwidth: 50% \n```"
                markdown_links.append(markdown_link)
    return markdown_links

# Stel de root directory in waar je wilt beginnen met zoeken naar PDFs
pdf_links = find_jpg_files(directory)


# Print alle gevonden Markdown links
for figs in pdf_links:
    print(figs)