Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8772408

Browse files
committed
Merge branch 'tokenizer/pretranslate-lowercase-names' into tokenizer/object-tokens
2 parents1d62e69 +f9f370e commit8772408

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

‎html5lib/_tokenizer.py

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ def rcdataLessThanSignState(self):
476476
defrcdataEndTagOpenState(self):
477477
data=self.stream.char()
478478
ifdatainasciiLetters:
479-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
479+
self.temporaryBuffer+=data
480480
self.state=self.rcdataEndTagNameState
481481
else:
482482
self.tokenQueue.append(Characters("</"))
@@ -485,20 +485,21 @@ def rcdataEndTagOpenState(self):
485485
returnTrue
486486

487487
defrcdataEndTagNameState(self):
488-
appropriate=self.currentToken.name==self.temporaryBuffer
488+
name=self.temporaryBuffer.translate(asciiUpper2Lower)
489+
appropriate=self.currentTokenandself.currentToken.name==name
489490
data=self.stream.char()
490491
ifdatainspaceCharactersandappropriate:
491-
self.currentToken=EndTag(name=self.temporaryBuffer)
492+
self.currentToken=EndTag(name=name)
492493
self.state=self.beforeAttributeNameState
493494
elifdata=="/"andappropriate:
494-
self.currentToken=EndTag(name=self.temporaryBuffer)
495+
self.currentToken=EndTag(name=name)
495496
self.state=self.selfClosingStartTagState
496497
elifdata==">"andappropriate:
497-
self.currentToken=EndTag(name=self.temporaryBuffer)
498+
self.currentToken=EndTag(name=name)
498499
self.emitCurrentToken()
499500
self.state=self.dataState
500501
elifdatainasciiLetters:
501-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
502+
self.temporaryBuffer+=data
502503
else:
503504
self.tokenQueue.append(Characters("</"+self.temporaryBuffer))
504505
self.stream.unget(data)
@@ -519,7 +520,7 @@ def rawtextLessThanSignState(self):
519520
defrawtextEndTagOpenState(self):
520521
data=self.stream.char()
521522
ifdatainasciiLetters:
522-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
523+
self.temporaryBuffer+=data
523524
self.state=self.rawtextEndTagNameState
524525
else:
525526
self.tokenQueue.append(Characters("</"))
@@ -528,20 +529,21 @@ def rawtextEndTagOpenState(self):
528529
returnTrue
529530

530531
defrawtextEndTagNameState(self):
531-
appropriate=self.currentToken.name==self.temporaryBuffer
532+
name=self.temporaryBuffer.translate(asciiUpper2Lower)
533+
appropriate=self.currentTokenandself.currentToken.name==name
532534
data=self.stream.char()
533535
ifdatainspaceCharactersandappropriate:
534-
self.currentToken=EndTag(name=self.temporaryBuffer)
536+
self.currentToken=EndTag(name=name)
535537
self.state=self.beforeAttributeNameState
536538
elifdata=="/"andappropriate:
537-
self.currentToken=EndTag(name=self.temporaryBuffer)
539+
self.currentToken=EndTag(name=name)
538540
self.state=self.selfClosingStartTagState
539541
elifdata==">"andappropriate:
540-
self.currentToken=EndTag(name=self.temporaryBuffer)
542+
self.currentToken=EndTag(name=name)
541543
self.emitCurrentToken()
542544
self.state=self.dataState
543545
elifdatainasciiLetters:
544-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
546+
self.temporaryBuffer+=data
545547
else:
546548
self.tokenQueue.append(Characters("</"+self.temporaryBuffer))
547549
self.stream.unget(data)
@@ -565,7 +567,7 @@ def scriptDataLessThanSignState(self):
565567
defscriptDataEndTagOpenState(self):
566568
data=self.stream.char()
567569
ifdatainasciiLetters:
568-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
570+
self.temporaryBuffer+=data
569571
self.state=self.scriptDataEndTagNameState
570572
else:
571573
self.tokenQueue.append(Characters("</"))
@@ -574,20 +576,21 @@ def scriptDataEndTagOpenState(self):
574576
returnTrue
575577

576578
defscriptDataEndTagNameState(self):
577-
appropriate=self.currentToken.name==self.temporaryBuffer
579+
name=self.temporaryBuffer.translate(asciiUpper2Lower)
580+
appropriate=self.currentTokenandself.currentToken.name==name
578581
data=self.stream.char()
579582
ifdatainspaceCharactersandappropriate:
580-
self.currentToken=EndTag(name=self.temporaryBuffer)
583+
self.currentToken=EndTag(name=name)
581584
self.state=self.beforeAttributeNameState
582585
elifdata=="/"andappropriate:
583-
self.currentToken=EndTag(name=self.temporaryBuffer)
586+
self.currentToken=EndTag(name=name)
584587
self.state=self.selfClosingStartTagState
585588
elifdata==">"andappropriate:
586-
self.currentToken=EndTag(name=self.temporaryBuffer)
589+
self.currentToken=EndTag(name=name)
587590
self.emitCurrentToken()
588591
self.state=self.dataState
589592
elifdatainasciiLetters:
590-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
593+
self.temporaryBuffer+=data
591594
else:
592595
self.tokenQueue.append(Characters("</"+self.temporaryBuffer))
593596
self.stream.unget(data)
@@ -676,7 +679,7 @@ def scriptDataEscapedLessThanSignState(self):
676679
self.state=self.scriptDataEscapedEndTagOpenState
677680
elifdatainasciiLetters:
678681
self.tokenQueue.append(Characters("<"+data))
679-
self.temporaryBuffer=data.translate(asciiUpper2Lower)
682+
self.temporaryBuffer=data
680683
self.state=self.scriptDataDoubleEscapeStartState
681684
else:
682685
self.tokenQueue.append(Characters("<"))
@@ -687,7 +690,7 @@ def scriptDataEscapedLessThanSignState(self):
687690
defscriptDataEscapedEndTagOpenState(self):
688691
data=self.stream.char()
689692
ifdatainasciiLetters:
690-
self.temporaryBuffer=data.translate(asciiUpper2Lower)
693+
self.temporaryBuffer=data
691694
self.state=self.scriptDataEscapedEndTagNameState
692695
else:
693696
self.tokenQueue.append(Characters("</"))
@@ -696,20 +699,21 @@ def scriptDataEscapedEndTagOpenState(self):
696699
returnTrue
697700

698701
defscriptDataEscapedEndTagNameState(self):
699-
appropriate=self.currentToken.name==self.temporaryBuffer
702+
name=self.temporaryBuffer.translate(asciiUpper2Lower)
703+
appropriate=self.currentTokenandself.currentToken.name==name
700704
data=self.stream.char()
701705
ifdatainspaceCharactersandappropriate:
702-
self.currentToken=EndTag(name=self.temporaryBuffer)
706+
self.currentToken=EndTag(name=name)
703707
self.state=self.beforeAttributeNameState
704708
elifdata=="/"andappropriate:
705-
self.currentToken=EndTag(name=self.temporaryBuffer)
709+
self.currentToken=EndTag(name=name)
706710
self.state=self.selfClosingStartTagState
707711
elifdata==">"andappropriate:
708-
self.currentToken=EndTag(name=self.temporaryBuffer)
712+
self.currentToken=EndTag(name=name)
709713
self.emitCurrentToken()
710714
self.state=self.dataState
711715
elifdatainasciiLetters:
712-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
716+
self.temporaryBuffer+=data
713717
else:
714718
self.tokenQueue.append(Characters("</"+self.temporaryBuffer))
715719
self.stream.unget(data)
@@ -720,13 +724,13 @@ def scriptDataDoubleEscapeStartState(self):
720724
data=self.stream.char()
721725
ifdatain (spaceCharacters|frozenset(("/",">"))):
722726
self.tokenQueue.append(Characters(data))
723-
ifself.temporaryBuffer=="script":
727+
ifself.temporaryBuffer.lower()=="script":
724728
self.state=self.scriptDataDoubleEscapedState
725729
else:
726730
self.state=self.scriptDataEscapedState
727731
elifdatainasciiLetters:
728732
self.tokenQueue.append(Characters(data))
729-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
733+
self.temporaryBuffer+=data
730734
else:
731735
self.stream.unget(data)
732736
self.state=self.scriptDataEscapedState
@@ -807,13 +811,13 @@ def scriptDataDoubleEscapeEndState(self):
807811
data=self.stream.char()
808812
ifdatain (spaceCharacters|frozenset(("/",">"))):
809813
self.tokenQueue.append(Characters(data))
810-
ifself.temporaryBuffer=="script":
814+
ifself.temporaryBuffer.lower()=="script":
811815
self.state=self.scriptDataEscapedState
812816
else:
813817
self.state=self.scriptDataDoubleEscapedState
814818
elifdatainasciiLetters:
815819
self.tokenQueue.append(Characters(data))
816-
self.temporaryBuffer+=data.translate(asciiUpper2Lower)
820+
self.temporaryBuffer+=data
817821
else:
818822
self.stream.unget(data)
819823
self.state=self.scriptDataDoubleEscapedState
@@ -1234,7 +1238,7 @@ def beforeDoctypeNameState(self):
12341238
self.tokenQueue.append(self.currentToken)
12351239
self.state=self.dataState
12361240
else:
1237-
self.currentToken.name=data
1241+
self.currentToken.name=data.translate(asciiUpper2Lower)
12381242
self.state=self.doctypeNameState
12391243
returnTrue
12401244

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp