twisted / twisted/twisted

twisted.web.static's file listing should decode filenames properly

Open
#1,765 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement new priority-normal web
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

radix's avatar @radix reported
Trac ID trac#1765
Type enhancement
Created 2006-05-30 14:42:49Z

twisted.web's static file listing should be using sys.getfilesystemencoding() to figure out how to decode filenames, instead of assuming the filenames are already in the appropriate outbound encoding

Actually, it seems that it's not even setting an outbound encoding, and letting the browser's default kick in, which on my firefox is iso-8859-1. So it should not just decode from the filesystem, it should also encode to a particular encoding (almost certainly utf-8) and specify that encoding in the headers it writes.

Searchable metadata
trac-id__1765 1765
type__enhancement enhancement
reporter__radix radix
priority__normal normal
milestone__ 
branch__ 
branch_author__ 
status__new new
resolution__None None
component__web web
keywords__ 
time__1149000169000000 1149000169000000
changetime__1160516806000000 1160516806000000
version__None None
owner__ 
cc__oubiwann

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading twisted.web.static's file-listing implementation and how it currently constructs response headers. Verify behavior with filenames using non-ASCII filesystem encodings; done means filenames are decoded using the filesystem encoding, encoded as UTF-8 for the response, and the response declares that encoding.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
web-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.