

Seems like everything is up to date on lemmy.dbzer0 now, just minor federation quirks it seems like. Thanks for notifying about a potential issue.


Seems like everything is up to date on lemmy.dbzer0 now, just minor federation quirks it seems like. Thanks for notifying about a potential issue.


If you don’t have anything positive or helpful to say, it would be better to just not reply. If you think the post shouldn’t be posted here, use the report function instead.


Looking at your instance handle, I hope/assume that your comment is supposed to be in lighthearted jest. However that would only be an assumption on my part and in general it’s not ok to say someone’s job/work tool is for [remarks directed at sex, gender, ethnicity, orientation, disabilities, etc…] per CoC 3.5.
Please take into consideration that members on this instance may be of different backgrounds than what you’re used to and interpets what you say differently. Further breaches of our Code of Conduct may lead to temporary or permament ban.


deleted by creator
From the perspective of the admin team, as long as reports are consistently resolved in a timely manner we are happy.
If you have any questions or want help with finding extra moderators, feel free to ask it here or via DM, otherwise we also have a Discord server and a Matrix space where we can talk.
Just a reminder that we sent you a DM some time ago, but have yet to receive an answer. Happy cake day :)
-The admin team


The person has previously been warned to stopped posting links to the site. They’ve now been given a temp ban, if that doesn’t deter them, they’ll be given a permanent ban and we might ban the site from our instance.


Appreciate the offer, but we want to try to avoid another situation with reports not being seen by mods for weeks.


Added as a moderator, we will likely add at least one more if there are more volunteers showing up.


Personally I would recommend to use regex instead for parsing, which would also allow you to more easily test your expressions. You could then get the list as
import re
result = re.findall(r'[\w_]+|\S', yourstring) # This will preserve ULLONG_MAX as a single word if that's what you want
As for what’s wrong with your expressions:
First expression: Once you hit (, OneOrMore(Char(printables)) will take over and continue matching every printable char.
Instead you should use OR (|) with the alphanumerical first for priority OneOrMore(word | Char(printables))
Second expression. You’re running into the same issue with your use of +. Once string.punctuation takes over, it will continue matching until it encounters a char that is not a punctuation and then stop the matching.
Instead you can write:
parser = OneOrMore(Word(alphanums) | Word(string.punctuation))
result = parser.parseString(yourstring)
Do note that underscore is considered a punctutation so ULLONG_MAX will be split, not sure if that’s what you want or not.


I don’t have any experience with pipx and personally prefer to just skip the .toml and place the whole pyprojectsetup in setup.py.
With that method, I would write inside setup()
packages=find_packages() # Include every python packages
package_data={ # Specify additional data files
'yourpackagename': [
'config/*'
etc...
]
}
This would however require you to have a package folder which all your package files/folders are inside, meaning the top level repo folder should not have any files or other folders that you want to distribute. Your MANIFEST.in looks fine.
If you believe it’s an bug with our instance, try making a post over at !meta@programming.dev . Posting here is unlikely to grab the attention of an admin unless the post gets reported (which it did). Before that though, look up if isn’t just the more likely scenario of a general lemmy bug/quirk caused by mismatched lemmy versions, etc…


All it took for me to switch to GitLab was a larger free lfs quota which I wanted for a project. The superior webpage UI made me migrate every old project to it too.


I assume you meant that both Rust and C compiles into machine code? Python compiles into bytecode that is then run in a VM, Rust and C usually doesn’t do that as far as I know.
I was mostly curious if it was as easy as in C. Turun’s reply answered that question though. Cheers.


As others have suggested, ffmpeg is a great cli tool. If you aren’t comfortable with the terminal you can do it via python like this:
import os
import sys
import subprocess
def crop_media(file_name: str, w: int, h: int, x: int, y: int, new_dir: str) -> None:
try:
subprocess.run(f'ffmpeg -i "{file_name}" -vf "crop={w}:{h}:{x}:{y}" temp.gif -y',
shell=True, check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
os.rename('temp.gif', os.path.join(new_dir, file_name))
# Print the error and continue with other gifs, remove try block if you want a complete stop
except subprocess.CalledProcessError as e:
print(e)
except KeyboardInterrupt:
print('KeyboardInterrupt, cleaning up files...')
os.remove('temp.gif')
sys.exit(0)
def crop_directory(directory: str, w: int, h: int, x: int, y: int, new_dir: str) -> None:
for root, _, files in directory:
for file in files:
if not file.endswith('.gif'):
continue
if os.path.isfile(os.path.join(new_dir, file)):
print(f'{file} already exists in {new_dir}, skipping...')
continue
file_path = os.path.normpath(os.path.join(root, file))
crop_media(file_path, w, h, x, y, new_dir)
if __name__ == '__main__':
width = 0
height = 0
x_offset = 0
y_offset = 0
gif_directory = ''
new_directory = ''
crop_directory(gif_directory, width, height, x_offset, y_offset, new_directory)
This should go through every file in the directory and subdirectories and call the ffmpeg command on each .gif. With new_directory you can set a directory to store every cropped .gif. The ffmpeg command is based on johnpiers suggestion.
The script assumes unique filenames for each gif and should work with spaces in the filenames. If they aren’t unique, you can just remove the new_directory part, but you will then lose the original gif that you cropped.


Could you elaborate on that point? Is it as smooth as using C?


Got a few minutes into the context video before I head to close it. Do people actually enjoy YouTubers presenting stuff in this manner?


Python are fine with whatever number of spaces you want to use. You can use 8 spaces which forces you carefully consider each nest, you can use 1 if you’re a monster, or you can use tabs if you’re enlightened, python only demands consistency.


It’d honestly the funniest thing I’ve read on this instance. Puts programmer humour to shame. Love it when developers finds the jankiest/unconventional way to solve problems.
I’m not sure if you’re masterfully trolling, or genuinely asking for help. But if you’re making a post asking for help, you should be open to feedback and willing to learn from the help provided.
I’m locking the post as there’s seems to be nothing but arguing with no learning involved. Feel free to send a DM if you want to discuss the decision.